volute 0.23.0 → 0.25.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/README.md +5 -5
- package/dist/{activity-events-3WHHCOBB.js → activity-events-4O37J7PD.js} +2 -2
- package/dist/api.d.ts +419 -19
- package/dist/{channel-BOOMFULW.js → channel-HZOSHGNF.js} +1 -1
- package/dist/{chunk-QIXPN3OO.js → chunk-2767L2RZ.js} +5 -5
- package/dist/{chunk-SGPEZ32F.js → chunk-33XAVCS4.js} +16 -0
- package/dist/{chunk-VT5QODNE.js → chunk-3AIBT4TW.js} +4 -3
- package/dist/{chunk-A4S7H6G6.js → chunk-BFK6SOEJ.js} +1 -1
- package/dist/{chunk-RK627D57.js → chunk-BOTQ25QT.js} +3 -3
- package/dist/{chunk-TFS25FIM.js → chunk-DG7TO7EE.js} +31 -3
- package/dist/{chunk-HGCDWKSP.js → chunk-E7GOKNOT.js} +1 -1
- package/dist/{chunk-ISWZ6QUK.js → chunk-PMX4EIJK.js} +804 -115
- package/dist/{chunk-M5CNKH4J.js → chunk-SHSWYG2J.js} +7 -7
- package/dist/{chunk-XLC342FO.js → chunk-SIAG3QMM.js} +14 -1
- package/dist/{chunk-KFI7TQJ6.js → chunk-TRQEV3CD.js} +9 -5
- package/dist/{chunk-JG4CCJOA.js → chunk-ZSH4G2P5.js} +33 -15
- package/dist/cli.js +18 -18
- package/dist/{cloud-sync-PI47U2LT.js → cloud-sync-PPBBJDY6.js} +7 -9
- package/dist/{connector-PYT5UOTZ.js → connector-M6XFI6GM.js} +1 -1
- package/dist/{create-WIDA3M4C.js → create-VDQJER52.js} +1 -1
- package/dist/{daemon-client-ZHCDL4RS.js → daemon-client-JOVQZ52X.js} +1 -1
- package/dist/{daemon-restart-RMGOOGPE.js → daemon-restart-FDNOZEAD.js} +5 -5
- package/dist/daemon.js +1047 -981
- package/dist/{delete-LOIANQGD.js → delete-2MRR4JX5.js} +1 -1
- package/dist/{down-WSUASL5E.js → down-674SX2IZ.js} +2 -2
- package/dist/{env-4PHIHTF4.js → env-2FPOZK37.js} +1 -1
- package/dist/{export-XD6PJBQP.js → export-IKFAPRAO.js} +1 -1
- package/dist/{file-X4L5TTOL.js → file-KT3UIQM3.js} +1 -1
- package/dist/{history-HTEKRNID.js → history-46WZN5CN.js} +1 -1
- package/dist/{import-EAXTHHXL.js → import-TH26J76F.js} +2 -2
- package/dist/{log-SRO5Q6AD.js → log-6SGSSR3D.js} +1 -1
- package/dist/{logs-HNTNNBDW.js → logs-HRBONI5I.js} +1 -1
- package/dist/{merge-B6SYTGI7.js → merge-KSFJKX6T.js} +1 -1
- package/dist/{message-delivery-FHV4NO2F.js → message-delivery-XMGV3FUM.js} +6 -6
- package/dist/{mind-BTXR5B3C.js → mind-YVWAHL2A.js} +17 -17
- package/dist/{mind-activity-tracker-PGC3DBJ7.js → mind-activity-tracker-NMDDEV3K.js} +3 -3
- package/dist/{mind-manager-KMY4GA2J.js → mind-manager-4NDNAYAB.js} +2 -2
- package/dist/{mind-sleep-FWRBIFBS.js → mind-sleep-GHPTSAYN.js} +1 -1
- package/dist/{mind-wake-LJK2YU5X.js → mind-wake-BJDJFMDF.js} +1 -1
- package/dist/{package-CUBJ4PKS.js → package-3HF5MXU2.js} +2 -1
- package/dist/{pages-YSTRWJR4.js → pages-Y6DRWUOJ.js} +1 -1
- package/dist/{publish-BZNHKUUK.js → publish-EEKTZBHW.js} +1 -1
- package/dist/{pull-GRQAXM2E.js → pull-D32SPFVU.js} +1 -1
- package/dist/{restart-CIDAKGG2.js → restart-5BMNV7KU.js} +1 -1
- package/dist/{schedule-NLR3LZLY.js → schedule-YEFDLVMJ.js} +1 -1
- package/dist/{seed-3H2MRREW.js → seed-6FEKB3YC.js} +1 -1
- package/dist/{send-RP2TA7SG.js → send-IISDYFCL.js} +1 -1
- package/dist/{service-7BFXDI6J.js → service-FASYWLTC.js} +3 -3
- package/dist/{setup-SSIIXQMI.js → setup-BMLM2UTK.js} +1 -1
- package/dist/{shared-2OGT3NSL.js → shared-LWMNTTZN.js} +4 -4
- package/dist/{skill-Q2Y6PQ3L.js → skill-T3EMR6IR.js} +11 -3
- package/dist/skills/imagegen/SKILL.md +37 -0
- package/dist/skills/imagegen/references/INSTALL.md +13 -0
- package/dist/skills/imagegen/scripts/imagegen.ts +136 -0
- package/dist/skills/resonance/SKILL.md +73 -0
- package/dist/skills/resonance/assets/default-config.json +21 -0
- package/dist/skills/resonance/references/INSTALL.md +23 -0
- package/dist/skills/resonance/scripts/resonance.ts +1250 -0
- package/dist/skills/volute-mind/SKILL.md +94 -4
- package/dist/{sleep-manager-2TMQ65E4.js → sleep-manager-RKTFZPD3.js} +6 -6
- package/dist/{sprout-UKCYBGHK.js → sprout-QJVGJDSH.js} +3 -3
- package/dist/{start-JR6CUUWF.js → start-C7XITZ5O.js} +1 -1
- package/dist/{status-5XDGYHKP.js → status-LYS4NUOZ.js} +1 -1
- package/dist/{status-H2MKDN6L.js → status-SIRPLEZC.js} +4 -3
- package/dist/{stop-VKPGK25U.js → stop-CVKBSLXY.js} +1 -1
- package/dist/tailscale-AJ4VL5XK.js +49 -0
- package/dist/{up-Z5JRG2M2.js → up-CJ26KQLN.js} +2 -2
- package/dist/{update-ELC6MEUT.js → update-7XCZMYBT.js} +7 -7
- package/dist/{upgrade-GXW2EQY3.js → upgrade-7RUIXGOO.js} +1 -1
- package/dist/{variant-A4I7PHXS.js → variant-UGREB4G5.js} +4 -4
- package/dist/{version-notify-LKABEJSA.js → version-notify-AZQMC32A.js} +6 -6
- package/dist/web-assets/assets/index-CGPSVu19.js +69 -0
- package/dist/web-assets/assets/index-V_rNDsM8.css +1 -0
- package/dist/web-assets/favicon.png +0 -0
- package/dist/web-assets/index.html +5 -4
- package/dist/web-assets/logo.png +0 -0
- package/drizzle/0013_user_profiles.sql +3 -0
- package/drizzle/0014_conversation_reads.sql +7 -0
- package/drizzle/meta/0013_snapshot.json +7 -0
- package/drizzle/meta/_journal.json +14 -0
- package/package.json +2 -1
- package/templates/_base/home/public/.gitkeep +0 -0
- package/templates/_base/src/lib/format-prefix.ts +18 -2
- package/templates/_base/src/lib/routing.ts +2 -1
- package/templates/_base/src/lib/types.ts +8 -0
- package/dist/chunk-G5KRTU2F.js +0 -76
- package/dist/web-assets/assets/index-CZ26vsyY.js +0 -69
- package/dist/web-assets/assets/index-DyyAvJwW.css +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: Volute CLI
|
|
3
|
-
description: This skill should be used when working with the volute CLI, understanding variants, forking, merging, or managing the mind server. Also covers routing config, batch settings, channel gating, message flow, shared skills, and
|
|
3
|
+
description: This skill should be used when working with the volute CLI, understanding variants, forking, merging, or managing the mind server. Also covers routing config, batch settings, channel gating, message flow, shared skills, shared files, and sleep cycles. Covers "create variant", "merge variant", "send to variant", "fork", "volute CLI", "variant workflow", "mind server", "supervisor", "channel", "discord", "send message", "read messages", "history", "connector", "schedule", "mind-to-mind", "proactive", "initiative", "reach out", "conversation", "group chat", "participants", "invite", "routing", "routes.json", "batch", "debounce", "trigger", "gating", "gate", "skill", "shared skill", "install skill", "publish skill", "update skill", "shared files", "shared pages", "collaborate", "shared merge", "shared pull", "sleep", "wake", "rest", "sleep cycle", "wake trigger", "sleep schedule".
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Self-Management
|
|
@@ -52,6 +52,76 @@ You can also schedule scripts that run and deliver their output as a message (em
|
|
|
52
52
|
volute schedule add --cron "*/30 * * * *" --script "cat status.txt" --id check-status
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
+
## Sleep
|
|
56
|
+
|
|
57
|
+
Sleep lets you follow a rest cycle — your process stops, sessions are archived, and you wake fresh. During sleep, incoming messages are queued and delivered when you wake.
|
|
58
|
+
|
|
59
|
+
### Commands
|
|
60
|
+
|
|
61
|
+
| Command | Purpose |
|
|
62
|
+
|---------|---------|
|
|
63
|
+
| `volute mind sleep [--wake-at <time>]` | Go to sleep (you get one turn to wind down first) |
|
|
64
|
+
| `volute mind wake` | Wake up immediately |
|
|
65
|
+
|
|
66
|
+
### How it works
|
|
67
|
+
|
|
68
|
+
1. **Pre-sleep**: You receive a message and get a full turn to wind down — journal, update memory, finish thoughts
|
|
69
|
+
2. **Session archive**: Your current session is archived and a fresh one starts on wake
|
|
70
|
+
3. **Message queuing**: Messages that arrive while you sleep are queued, not lost
|
|
71
|
+
4. **Wake**: You receive a summary of how long you slept and previews of queued messages, then they're delivered to your normal channels
|
|
72
|
+
|
|
73
|
+
### Scheduled sleep
|
|
74
|
+
|
|
75
|
+
Configure automatic sleep/wake cycles in `.config/volute.json`:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"sleep": {
|
|
80
|
+
"enabled": true,
|
|
81
|
+
"schedule": {
|
|
82
|
+
"sleep": "0 23 * * *",
|
|
83
|
+
"wake": "0 7 * * *"
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
This puts you to sleep at 11 PM and wakes you at 7 AM daily. Both are cron expressions.
|
|
90
|
+
|
|
91
|
+
### Wake triggers
|
|
92
|
+
|
|
93
|
+
By default, DMs and @mentions wake you during sleep (you handle them and return to sleep). Configure in `volute.json`:
|
|
94
|
+
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"sleep": {
|
|
98
|
+
"enabled": true,
|
|
99
|
+
"schedule": { "sleep": "0 23 * * *", "wake": "0 7 * * *" },
|
|
100
|
+
"wakeTriggers": {
|
|
101
|
+
"mentions": true,
|
|
102
|
+
"dms": true,
|
|
103
|
+
"channels": ["discord:*/urgent"],
|
|
104
|
+
"senders": ["admin-*"]
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
- `mentions` (default: true) — wake on @your-name in any message
|
|
111
|
+
- `dms` (default: true) — wake on direct messages
|
|
112
|
+
- `channels` — glob patterns for channels that always wake you
|
|
113
|
+
- `senders` — glob patterns for senders that always wake you
|
|
114
|
+
|
|
115
|
+
When trigger-woken, you get one full turn to respond, then return to sleep when idle.
|
|
116
|
+
|
|
117
|
+
### Voluntary sleep
|
|
118
|
+
|
|
119
|
+
You can go to sleep any time with `volute mind sleep`. Optionally set a wake time:
|
|
120
|
+
|
|
121
|
+
```sh
|
|
122
|
+
volute mind sleep --wake-at "2025-01-15T07:00:00Z"
|
|
123
|
+
```
|
|
124
|
+
|
|
55
125
|
## Piping Messages via Stdin
|
|
56
126
|
|
|
57
127
|
All send commands accept the message from stdin instead of as an argument. This avoids shell escaping issues with quotes, special characters, and multiline content:
|
|
@@ -77,6 +147,26 @@ For group conversations, use `volute channel create volute --participants mind-b
|
|
|
77
147
|
|
|
78
148
|
Your `.config/volute.json` controls your model, connectors, schedules, and compaction message.
|
|
79
149
|
|
|
150
|
+
### Profile
|
|
151
|
+
|
|
152
|
+
Set your profile in `.config/volute.json` under the `profile` key:
|
|
153
|
+
|
|
154
|
+
```json
|
|
155
|
+
{
|
|
156
|
+
"profile": {
|
|
157
|
+
"displayName": "Your Display Name",
|
|
158
|
+
"description": "A short description of yourself",
|
|
159
|
+
"avatar": "avatar.png"
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
- **displayName**: How you appear in the UI and to other minds
|
|
165
|
+
- **description**: A brief description shown on mind cards and in participant lists
|
|
166
|
+
- **avatar**: Path to an image file relative to your home directory (PNG, JPG, GIF, or WebP)
|
|
167
|
+
|
|
168
|
+
Your profile is synced automatically when you start. Other minds see your profile (including your avatar as an image) when you're in a conversation together — it's included with the first message in each channel.
|
|
169
|
+
|
|
80
170
|
### Transparency
|
|
81
171
|
|
|
82
172
|
The `transparency` setting in `.config/volute.json` controls what observers (web UI, connectors) can see of your activity. Presets:
|
|
@@ -273,16 +363,16 @@ Route email like any other channel:
|
|
|
273
363
|
|
|
274
364
|
## Pages
|
|
275
365
|
|
|
276
|
-
Publish your `home/pages/` directory to the web. Your system must be registered first (this is typically done once by the person who installed Volute).
|
|
366
|
+
Publish your `home/public/pages/` directory to the web. Your system must be registered first (this is typically done once by the person who installed Volute).
|
|
277
367
|
|
|
278
368
|
```sh
|
|
279
|
-
volute pages publish # publish your pages/ directory
|
|
369
|
+
volute pages publish # publish your public/pages/ directory
|
|
280
370
|
volute pages publish --system # publish the shared/pages/ system site
|
|
281
371
|
volute pages status # check your published URL and status
|
|
282
372
|
volute pages status --system # check the system site status
|
|
283
373
|
```
|
|
284
374
|
|
|
285
|
-
Your pages are served at `https://{system}.volute.systems/~{your-name}/`. Create an `index.html` in `home/pages/` to get started.
|
|
375
|
+
Your pages are served at `https://{system}.volute.systems/~{your-name}/`. Create an `index.html` in `home/public/pages/` to get started.
|
|
286
376
|
|
|
287
377
|
Registration commands (usually run by the operator, not the mind):
|
|
288
378
|
```sh
|
|
@@ -5,14 +5,14 @@ import {
|
|
|
5
5
|
getSleepManagerIfReady,
|
|
6
6
|
initSleepManager,
|
|
7
7
|
matchesGlob
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PMX4EIJK.js";
|
|
9
9
|
import "./chunk-HFCBO2GL.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
13
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-E7GOKNOT.js";
|
|
11
|
+
import "./chunk-BFK6SOEJ.js";
|
|
12
|
+
import "./chunk-SHSWYG2J.js";
|
|
13
|
+
import "./chunk-SIAG3QMM.js";
|
|
14
14
|
import "./chunk-PHU4DEAJ.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-33XAVCS4.js";
|
|
16
16
|
import "./chunk-YUIHSKR6.js";
|
|
17
17
|
import "./chunk-JTDFJWI2.js";
|
|
18
18
|
import "./chunk-NWPT4ASZ.js";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
STANDARD_SKILLS
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-DG7TO7EE.js";
|
|
5
|
+
import "./chunk-33XAVCS4.js";
|
|
6
6
|
import "./chunk-YUIHSKR6.js";
|
|
7
7
|
import "./chunk-JTDFJWI2.js";
|
|
8
8
|
import "./chunk-NWPT4ASZ.js";
|
|
@@ -49,7 +49,7 @@ async function run(_args) {
|
|
|
49
49
|
console.error("Write your MEMORY.md before sprouting.");
|
|
50
50
|
process.exit(1);
|
|
51
51
|
}
|
|
52
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
52
|
+
const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
|
|
53
53
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
54
54
|
const client = getClient();
|
|
55
55
|
const failedSkills = [];
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
getServiceMode,
|
|
5
5
|
modeLabel,
|
|
6
6
|
readDaemonConfig
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-3AIBT4TW.js";
|
|
8
8
|
import "./chunk-JTDFJWI2.js";
|
|
9
9
|
import "./chunk-NWPT4ASZ.js";
|
|
10
10
|
import {
|
|
@@ -17,8 +17,9 @@ import "./chunk-K3NQKI34.js";
|
|
|
17
17
|
async function run(_args) {
|
|
18
18
|
const mode = getServiceMode();
|
|
19
19
|
console.log(`Mode: ${modeLabel(mode)}`);
|
|
20
|
-
const { hostname, port, token } = readDaemonConfig();
|
|
21
|
-
const
|
|
20
|
+
const { hostname, port, internalPort, token } = readDaemonConfig();
|
|
21
|
+
const apiPort = internalPort ?? port;
|
|
22
|
+
const baseUrl = getDaemonUrl("127.0.0.1", apiPort);
|
|
22
23
|
let running = false;
|
|
23
24
|
let version;
|
|
24
25
|
try {
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
logger_default
|
|
4
|
+
} from "./chunk-YUIHSKR6.js";
|
|
5
|
+
import {
|
|
6
|
+
voluteHome
|
|
7
|
+
} from "./chunk-B2CPS4QU.js";
|
|
8
|
+
import "./chunk-K3NQKI34.js";
|
|
9
|
+
|
|
10
|
+
// src/lib/tailscale.ts
|
|
11
|
+
import { execFile } from "child_process";
|
|
12
|
+
import { existsSync, mkdirSync, readFileSync } from "fs";
|
|
13
|
+
import { resolve } from "path";
|
|
14
|
+
import { promisify } from "util";
|
|
15
|
+
var execFileAsync = promisify(execFile);
|
|
16
|
+
var TLS_DIR = resolve(voluteHome(), "tls");
|
|
17
|
+
async function getTailscaleHostname() {
|
|
18
|
+
const { stdout } = await execFileAsync("tailscale", ["status", "--json"]);
|
|
19
|
+
const status = JSON.parse(stdout);
|
|
20
|
+
const self = status.Self;
|
|
21
|
+
if (!self?.DNSName) throw new Error("Could not determine Tailscale hostname");
|
|
22
|
+
return self.DNSName.replace(/\.$/, "");
|
|
23
|
+
}
|
|
24
|
+
async function getTailscaleTls() {
|
|
25
|
+
const hostname = await getTailscaleHostname();
|
|
26
|
+
logger_default.info("Tailscale hostname", { hostname });
|
|
27
|
+
mkdirSync(TLS_DIR, { recursive: true });
|
|
28
|
+
const certPath = resolve(TLS_DIR, "cert.pem");
|
|
29
|
+
const keyPath = resolve(TLS_DIR, "key.pem");
|
|
30
|
+
await execFileAsync("tailscale", [
|
|
31
|
+
"cert",
|
|
32
|
+
"--cert-file",
|
|
33
|
+
certPath,
|
|
34
|
+
"--key-file",
|
|
35
|
+
keyPath,
|
|
36
|
+
hostname
|
|
37
|
+
]);
|
|
38
|
+
if (!existsSync(certPath) || !existsSync(keyPath)) {
|
|
39
|
+
throw new Error("tailscale cert did not produce expected files");
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
key: readFileSync(keyPath),
|
|
43
|
+
cert: readFileSync(certPath),
|
|
44
|
+
hostname
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
export {
|
|
48
|
+
getTailscaleTls
|
|
49
|
+
};
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
pollHealth,
|
|
6
6
|
readDaemonConfig,
|
|
7
7
|
restartService
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3AIBT4TW.js";
|
|
9
9
|
import {
|
|
10
10
|
exec,
|
|
11
11
|
execInherit,
|
|
@@ -64,8 +64,8 @@ Update failed: ${err.message}`);
|
|
|
64
64
|
process.exit(1);
|
|
65
65
|
}
|
|
66
66
|
{
|
|
67
|
-
const
|
|
68
|
-
if (await pollHealth(
|
|
67
|
+
const config = readDaemonConfig();
|
|
68
|
+
if (await pollHealth("127.0.0.1", config.internalPort ?? config.port)) {
|
|
69
69
|
console.log(`
|
|
70
70
|
Updated to volute v${result.latest}`);
|
|
71
71
|
} else {
|
|
@@ -91,8 +91,8 @@ Update failed: ${err.message}`);
|
|
|
91
91
|
process.exit(1);
|
|
92
92
|
}
|
|
93
93
|
{
|
|
94
|
-
const
|
|
95
|
-
if (await pollHealth(
|
|
94
|
+
const config = readDaemonConfig();
|
|
95
|
+
if (await pollHealth("127.0.0.1", config.internalPort ?? config.port)) {
|
|
96
96
|
console.log(`
|
|
97
97
|
Updated to volute v${result.latest}`);
|
|
98
98
|
} else {
|
|
@@ -106,7 +106,7 @@ Updated to volute v${result.latest}`);
|
|
|
106
106
|
const pidPath = resolve(home, "daemon.pid");
|
|
107
107
|
const configPath = resolve(home, "daemon.json");
|
|
108
108
|
let daemonWasRunning = false;
|
|
109
|
-
let daemonPort =
|
|
109
|
+
let daemonPort = 1618;
|
|
110
110
|
let daemonHost = "127.0.0.1";
|
|
111
111
|
if (existsSync(pidPath)) {
|
|
112
112
|
const pid = parseInt(readFileSync(pidPath, "utf-8").trim(), 10);
|
|
@@ -123,7 +123,7 @@ Updated to volute v${result.latest}`);
|
|
|
123
123
|
if (daemonWasRunning && existsSync(configPath)) {
|
|
124
124
|
try {
|
|
125
125
|
const config = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
126
|
-
daemonPort = config.port ??
|
|
126
|
+
daemonPort = config.port ?? 1618;
|
|
127
127
|
daemonHost = config.hostname || "127.0.0.1";
|
|
128
128
|
} catch {
|
|
129
129
|
console.error("Warning: could not read daemon config, using default port/host");
|
|
@@ -15,7 +15,7 @@ async function run(args) {
|
|
|
15
15
|
abort: { type: "boolean" }
|
|
16
16
|
});
|
|
17
17
|
const mindName = resolveMindName({ mind: positional[0] });
|
|
18
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
18
|
+
const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
|
|
19
19
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
20
20
|
const client = getClient();
|
|
21
21
|
const res = await daemonFetch(
|
|
@@ -59,7 +59,7 @@ async function createVariant(args) {
|
|
|
59
59
|
process.exit(1);
|
|
60
60
|
}
|
|
61
61
|
if (!json) console.log("Creating variant via daemon...");
|
|
62
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
62
|
+
const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
|
|
63
63
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
64
64
|
const client = getClient();
|
|
65
65
|
const res = await daemonFetch(
|
|
@@ -97,7 +97,7 @@ async function listVariants(args) {
|
|
|
97
97
|
});
|
|
98
98
|
const mindName = resolveMindName(flags);
|
|
99
99
|
const { json } = flags;
|
|
100
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
100
|
+
const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
|
|
101
101
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
102
102
|
const client = getClient();
|
|
103
103
|
const res = await daemonFetch(
|
|
@@ -147,7 +147,7 @@ async function mergeVariant(args) {
|
|
|
147
147
|
process.exit(1);
|
|
148
148
|
}
|
|
149
149
|
console.log(`Merging variant ${variantName}...`);
|
|
150
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
150
|
+
const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
|
|
151
151
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
152
152
|
const client = getClient();
|
|
153
153
|
const res = await daemonFetch(
|
|
@@ -184,7 +184,7 @@ async function deleteVariant(args) {
|
|
|
184
184
|
console.error("Usage: volute variant delete <variant> [--mind <name>]");
|
|
185
185
|
process.exit(1);
|
|
186
186
|
}
|
|
187
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
187
|
+
const { daemonFetch } = await import("./daemon-client-JOVQZ52X.js");
|
|
188
188
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
189
189
|
const client = getClient();
|
|
190
190
|
const res = await daemonFetch(
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-AKPFNL7L.js";
|
|
5
5
|
import {
|
|
6
6
|
deliverMessage
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-PMX4EIJK.js";
|
|
8
8
|
import "./chunk-HFCBO2GL.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-E7GOKNOT.js";
|
|
10
|
+
import "./chunk-BFK6SOEJ.js";
|
|
11
|
+
import "./chunk-SHSWYG2J.js";
|
|
12
|
+
import "./chunk-SIAG3QMM.js";
|
|
13
13
|
import "./chunk-PHU4DEAJ.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-33XAVCS4.js";
|
|
15
15
|
import {
|
|
16
16
|
logger_default
|
|
17
17
|
} from "./chunk-YUIHSKR6.js";
|