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
package/README.md
CHANGED
|
@@ -26,14 +26,14 @@ volute mind start atlas
|
|
|
26
26
|
volute send @atlas "hey, what can you do?"
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
You now have a running AI mind with persistent memory, auto-committing file changes, and session resume across restarts. Open `http://localhost:
|
|
29
|
+
You now have a running AI mind with persistent memory, auto-committing file changes, and session resume across restarts. Open `http://localhost:1618` for the web dashboard.
|
|
30
30
|
|
|
31
31
|
## The daemon
|
|
32
32
|
|
|
33
33
|
One background process runs everything. `volute up` starts it; `volute down` stops it.
|
|
34
34
|
|
|
35
35
|
```sh
|
|
36
|
-
volute up # start (default port
|
|
36
|
+
volute up # start (default port 1618)
|
|
37
37
|
volute up --port 8080 # custom port
|
|
38
38
|
volute down # stop all minds and shut down
|
|
39
39
|
volute status # check daemon status, version, and minds
|
|
@@ -204,7 +204,7 @@ volute env remove API_KEY
|
|
|
204
204
|
|
|
205
205
|
## Web dashboard
|
|
206
206
|
|
|
207
|
-
The daemon serves a web UI at `http://localhost:
|
|
207
|
+
The daemon serves a web UI at `http://localhost:1618` (or whatever port you chose).
|
|
208
208
|
|
|
209
209
|
- Real-time chat with full tool call visibility
|
|
210
210
|
- File browser and editor
|
|
@@ -250,7 +250,7 @@ Set the model via `home/.config/volute.json` in the mind directory, or the `VOLU
|
|
|
250
250
|
|
|
251
251
|
```sh
|
|
252
252
|
docker build -t volute .
|
|
253
|
-
docker run -d -p
|
|
253
|
+
docker run -d -p 1618:1618 -v volute-data:/data -v volute-minds:/minds volute
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
Or with docker-compose:
|
|
@@ -259,7 +259,7 @@ Or with docker-compose:
|
|
|
259
259
|
docker compose up -d
|
|
260
260
|
```
|
|
261
261
|
|
|
262
|
-
The container runs with per-mind user isolation enabled — each mind gets its own Linux user, so minds can't see each other's files. Open `http://localhost:
|
|
262
|
+
The container runs with per-mind user isolation enabled — each mind gets its own Linux user, so minds can't see each other's files. Open `http://localhost:1618` for the web dashboard.
|
|
263
263
|
|
|
264
264
|
### Bare metal (Linux / Raspberry Pi)
|
|
265
265
|
|
|
@@ -3,8 +3,8 @@ import {
|
|
|
3
3
|
broadcast,
|
|
4
4
|
publish,
|
|
5
5
|
subscribe
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-BFK6SOEJ.js";
|
|
7
|
+
import "./chunk-33XAVCS4.js";
|
|
8
8
|
import "./chunk-YUIHSKR6.js";
|
|
9
9
|
import "./chunk-B2CPS4QU.js";
|
|
10
10
|
import "./chunk-K3NQKI34.js";
|
package/dist/api.d.ts
CHANGED
|
@@ -127,11 +127,49 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
127
127
|
id: number;
|
|
128
128
|
username: string;
|
|
129
129
|
role: "pending" | "mind" | "user" | "admin";
|
|
130
|
+
display_name: string | null;
|
|
131
|
+
description: string | null;
|
|
132
|
+
avatar: string | null;
|
|
130
133
|
};
|
|
131
134
|
outputFormat: "json";
|
|
132
135
|
status: hono_utils_http_status.ContentfulStatusCode;
|
|
133
136
|
};
|
|
134
137
|
};
|
|
138
|
+
} & {
|
|
139
|
+
"/avatars/:filename": {
|
|
140
|
+
$get: {
|
|
141
|
+
input: {
|
|
142
|
+
param: {
|
|
143
|
+
filename: string;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
output: {
|
|
147
|
+
error: string;
|
|
148
|
+
};
|
|
149
|
+
outputFormat: "json";
|
|
150
|
+
status: 400;
|
|
151
|
+
} | {
|
|
152
|
+
input: {
|
|
153
|
+
param: {
|
|
154
|
+
filename: string;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
output: {
|
|
158
|
+
error: string;
|
|
159
|
+
};
|
|
160
|
+
outputFormat: "json";
|
|
161
|
+
status: 404;
|
|
162
|
+
} | {
|
|
163
|
+
input: {
|
|
164
|
+
param: {
|
|
165
|
+
filename: string;
|
|
166
|
+
};
|
|
167
|
+
};
|
|
168
|
+
output: NonSharedBuffer;
|
|
169
|
+
outputFormat: "body";
|
|
170
|
+
status: 200;
|
|
171
|
+
};
|
|
172
|
+
};
|
|
135
173
|
}) | hono_types.MergeSchemaPath<{
|
|
136
174
|
"/users": {
|
|
137
175
|
$get: {
|
|
@@ -148,6 +186,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
148
186
|
username: string;
|
|
149
187
|
role: "admin" | "user" | "pending" | "mind";
|
|
150
188
|
user_type: "brain" | "mind";
|
|
189
|
+
display_name: string | null;
|
|
190
|
+
description: string | null;
|
|
191
|
+
avatar: string | null;
|
|
151
192
|
created_at: string;
|
|
152
193
|
}[];
|
|
153
194
|
outputFormat: "json";
|
|
@@ -163,6 +204,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
163
204
|
username: string;
|
|
164
205
|
role: "admin" | "user" | "pending" | "mind";
|
|
165
206
|
user_type: "brain" | "mind";
|
|
207
|
+
display_name: string | null;
|
|
208
|
+
description: string | null;
|
|
209
|
+
avatar: string | null;
|
|
166
210
|
created_at: string;
|
|
167
211
|
}[];
|
|
168
212
|
outputFormat: "json";
|
|
@@ -189,6 +233,166 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
189
233
|
};
|
|
190
234
|
outputFormat: "json";
|
|
191
235
|
status: 403;
|
|
236
|
+
} | {
|
|
237
|
+
input: {
|
|
238
|
+
param: {
|
|
239
|
+
id: string;
|
|
240
|
+
};
|
|
241
|
+
};
|
|
242
|
+
output: {
|
|
243
|
+
error: string;
|
|
244
|
+
};
|
|
245
|
+
outputFormat: "json";
|
|
246
|
+
status: 400;
|
|
247
|
+
} | {
|
|
248
|
+
input: {
|
|
249
|
+
param: {
|
|
250
|
+
id: string;
|
|
251
|
+
};
|
|
252
|
+
};
|
|
253
|
+
output: {
|
|
254
|
+
ok: true;
|
|
255
|
+
};
|
|
256
|
+
outputFormat: "json";
|
|
257
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
} & {
|
|
261
|
+
"/users/:id/role": {
|
|
262
|
+
$post: {
|
|
263
|
+
input: {
|
|
264
|
+
json: {
|
|
265
|
+
role: "user" | "admin";
|
|
266
|
+
};
|
|
267
|
+
} & {
|
|
268
|
+
param: {
|
|
269
|
+
id: string;
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
output: {
|
|
273
|
+
error: string;
|
|
274
|
+
};
|
|
275
|
+
outputFormat: "json";
|
|
276
|
+
status: 403;
|
|
277
|
+
} | {
|
|
278
|
+
input: {
|
|
279
|
+
json: {
|
|
280
|
+
role: "user" | "admin";
|
|
281
|
+
};
|
|
282
|
+
} & {
|
|
283
|
+
param: {
|
|
284
|
+
id: string;
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
output: {
|
|
288
|
+
error: string;
|
|
289
|
+
};
|
|
290
|
+
outputFormat: "json";
|
|
291
|
+
status: 400;
|
|
292
|
+
} | {
|
|
293
|
+
input: {
|
|
294
|
+
json: {
|
|
295
|
+
role: "user" | "admin";
|
|
296
|
+
};
|
|
297
|
+
} & {
|
|
298
|
+
param: {
|
|
299
|
+
id: string;
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
output: {
|
|
303
|
+
ok: true;
|
|
304
|
+
};
|
|
305
|
+
outputFormat: "json";
|
|
306
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
307
|
+
};
|
|
308
|
+
};
|
|
309
|
+
} & {
|
|
310
|
+
"/users/:id/profile": {
|
|
311
|
+
$put: {
|
|
312
|
+
input: {
|
|
313
|
+
json: {
|
|
314
|
+
display_name?: string | null | undefined;
|
|
315
|
+
description?: string | null | undefined;
|
|
316
|
+
};
|
|
317
|
+
} & {
|
|
318
|
+
param: {
|
|
319
|
+
id: string;
|
|
320
|
+
};
|
|
321
|
+
};
|
|
322
|
+
output: {
|
|
323
|
+
error: string;
|
|
324
|
+
};
|
|
325
|
+
outputFormat: "json";
|
|
326
|
+
status: 403;
|
|
327
|
+
} | {
|
|
328
|
+
input: {
|
|
329
|
+
json: {
|
|
330
|
+
display_name?: string | null | undefined;
|
|
331
|
+
description?: string | null | undefined;
|
|
332
|
+
};
|
|
333
|
+
} & {
|
|
334
|
+
param: {
|
|
335
|
+
id: string;
|
|
336
|
+
};
|
|
337
|
+
};
|
|
338
|
+
output: {
|
|
339
|
+
error: string;
|
|
340
|
+
};
|
|
341
|
+
outputFormat: "json";
|
|
342
|
+
status: 400;
|
|
343
|
+
} | {
|
|
344
|
+
input: {
|
|
345
|
+
json: {
|
|
346
|
+
display_name?: string | null | undefined;
|
|
347
|
+
description?: string | null | undefined;
|
|
348
|
+
};
|
|
349
|
+
} & {
|
|
350
|
+
param: {
|
|
351
|
+
id: string;
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
output: {
|
|
355
|
+
ok: true;
|
|
356
|
+
};
|
|
357
|
+
outputFormat: "json";
|
|
358
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
359
|
+
};
|
|
360
|
+
};
|
|
361
|
+
} & {
|
|
362
|
+
"/users/:id": {
|
|
363
|
+
$delete: {
|
|
364
|
+
input: {
|
|
365
|
+
param: {
|
|
366
|
+
id: string;
|
|
367
|
+
};
|
|
368
|
+
};
|
|
369
|
+
output: {
|
|
370
|
+
error: string;
|
|
371
|
+
};
|
|
372
|
+
outputFormat: "json";
|
|
373
|
+
status: 403;
|
|
374
|
+
} | {
|
|
375
|
+
input: {
|
|
376
|
+
param: {
|
|
377
|
+
id: string;
|
|
378
|
+
};
|
|
379
|
+
};
|
|
380
|
+
output: {
|
|
381
|
+
error: string;
|
|
382
|
+
};
|
|
383
|
+
outputFormat: "json";
|
|
384
|
+
status: 400;
|
|
385
|
+
} | {
|
|
386
|
+
input: {
|
|
387
|
+
param: {
|
|
388
|
+
id: string;
|
|
389
|
+
};
|
|
390
|
+
};
|
|
391
|
+
output: {
|
|
392
|
+
error: string;
|
|
393
|
+
};
|
|
394
|
+
outputFormat: "json";
|
|
395
|
+
status: 404;
|
|
192
396
|
} | {
|
|
193
397
|
input: {
|
|
194
398
|
param: {
|
|
@@ -230,6 +434,52 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
230
434
|
status: hono_utils_http_status.ContentfulStatusCode;
|
|
231
435
|
};
|
|
232
436
|
};
|
|
437
|
+
} & {
|
|
438
|
+
"/profile": {
|
|
439
|
+
$put: {
|
|
440
|
+
input: {
|
|
441
|
+
json: {
|
|
442
|
+
display_name?: string | null | undefined;
|
|
443
|
+
description?: string | null | undefined;
|
|
444
|
+
};
|
|
445
|
+
};
|
|
446
|
+
output: {
|
|
447
|
+
ok: true;
|
|
448
|
+
};
|
|
449
|
+
outputFormat: "json";
|
|
450
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
451
|
+
};
|
|
452
|
+
};
|
|
453
|
+
} & {
|
|
454
|
+
"/avatar": {
|
|
455
|
+
$post: {
|
|
456
|
+
input: {};
|
|
457
|
+
output: {
|
|
458
|
+
error: string;
|
|
459
|
+
};
|
|
460
|
+
outputFormat: "json";
|
|
461
|
+
status: 400;
|
|
462
|
+
} | {
|
|
463
|
+
input: {};
|
|
464
|
+
output: {
|
|
465
|
+
ok: true;
|
|
466
|
+
avatar: string;
|
|
467
|
+
};
|
|
468
|
+
outputFormat: "json";
|
|
469
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
470
|
+
};
|
|
471
|
+
};
|
|
472
|
+
} & {
|
|
473
|
+
"/avatar": {
|
|
474
|
+
$delete: {
|
|
475
|
+
input: {};
|
|
476
|
+
output: {
|
|
477
|
+
ok: true;
|
|
478
|
+
};
|
|
479
|
+
outputFormat: "json";
|
|
480
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
481
|
+
};
|
|
482
|
+
};
|
|
233
483
|
}, "/">, "/api/auth"> | hono_types.MergeSchemaPath<{
|
|
234
484
|
"/restart": {
|
|
235
485
|
$post: {
|
|
@@ -272,6 +522,113 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
272
522
|
status: hono_utils_http_status.ContentfulStatusCode;
|
|
273
523
|
};
|
|
274
524
|
};
|
|
525
|
+
} & {
|
|
526
|
+
"/register": {
|
|
527
|
+
$post: {
|
|
528
|
+
input: {
|
|
529
|
+
json: {
|
|
530
|
+
name: string;
|
|
531
|
+
};
|
|
532
|
+
};
|
|
533
|
+
output: {
|
|
534
|
+
error: string;
|
|
535
|
+
};
|
|
536
|
+
outputFormat: "json";
|
|
537
|
+
status: 400;
|
|
538
|
+
} | {
|
|
539
|
+
input: {
|
|
540
|
+
json: {
|
|
541
|
+
name: string;
|
|
542
|
+
};
|
|
543
|
+
};
|
|
544
|
+
output: {
|
|
545
|
+
error: string;
|
|
546
|
+
};
|
|
547
|
+
outputFormat: "json";
|
|
548
|
+
status: 502;
|
|
549
|
+
} | {
|
|
550
|
+
input: {
|
|
551
|
+
json: {
|
|
552
|
+
name: string;
|
|
553
|
+
};
|
|
554
|
+
};
|
|
555
|
+
output: {
|
|
556
|
+
error: string;
|
|
557
|
+
};
|
|
558
|
+
outputFormat: "json";
|
|
559
|
+
status: 500;
|
|
560
|
+
} | {
|
|
561
|
+
input: {
|
|
562
|
+
json: {
|
|
563
|
+
name: string;
|
|
564
|
+
};
|
|
565
|
+
};
|
|
566
|
+
output: {
|
|
567
|
+
system: string;
|
|
568
|
+
};
|
|
569
|
+
outputFormat: "json";
|
|
570
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
571
|
+
};
|
|
572
|
+
};
|
|
573
|
+
} & {
|
|
574
|
+
"/login": {
|
|
575
|
+
$post: {
|
|
576
|
+
input: {
|
|
577
|
+
json: {
|
|
578
|
+
key: string;
|
|
579
|
+
};
|
|
580
|
+
};
|
|
581
|
+
output: {
|
|
582
|
+
error: string;
|
|
583
|
+
};
|
|
584
|
+
outputFormat: "json";
|
|
585
|
+
status: 400;
|
|
586
|
+
} | {
|
|
587
|
+
input: {
|
|
588
|
+
json: {
|
|
589
|
+
key: string;
|
|
590
|
+
};
|
|
591
|
+
};
|
|
592
|
+
output: {
|
|
593
|
+
error: string;
|
|
594
|
+
};
|
|
595
|
+
outputFormat: "json";
|
|
596
|
+
status: 502;
|
|
597
|
+
} | {
|
|
598
|
+
input: {
|
|
599
|
+
json: {
|
|
600
|
+
key: string;
|
|
601
|
+
};
|
|
602
|
+
};
|
|
603
|
+
output: {
|
|
604
|
+
error: string;
|
|
605
|
+
};
|
|
606
|
+
outputFormat: "json";
|
|
607
|
+
status: 500;
|
|
608
|
+
} | {
|
|
609
|
+
input: {
|
|
610
|
+
json: {
|
|
611
|
+
key: string;
|
|
612
|
+
};
|
|
613
|
+
};
|
|
614
|
+
output: {
|
|
615
|
+
system: string;
|
|
616
|
+
};
|
|
617
|
+
outputFormat: "json";
|
|
618
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
619
|
+
};
|
|
620
|
+
};
|
|
621
|
+
} & {
|
|
622
|
+
"/logout": {
|
|
623
|
+
$post: {
|
|
624
|
+
input: {};
|
|
625
|
+
output: {
|
|
626
|
+
ok: true;
|
|
627
|
+
};
|
|
628
|
+
outputFormat: "json";
|
|
629
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
630
|
+
};
|
|
631
|
+
};
|
|
275
632
|
}, "/api/system"> | hono_types.MergeSchemaPath<{
|
|
276
633
|
"/update": {
|
|
277
634
|
$get: {
|
|
@@ -2285,6 +2642,15 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2285
2642
|
}, "/api/minds"> | hono_types.MergeSchemaPath<{
|
|
2286
2643
|
"/:name/avatar": {
|
|
2287
2644
|
$get: {
|
|
2645
|
+
input: {
|
|
2646
|
+
param: {
|
|
2647
|
+
name: string;
|
|
2648
|
+
};
|
|
2649
|
+
};
|
|
2650
|
+
output: NonSharedBuffer;
|
|
2651
|
+
outputFormat: "body";
|
|
2652
|
+
status: 200;
|
|
2653
|
+
} | {
|
|
2288
2654
|
input: {
|
|
2289
2655
|
param: {
|
|
2290
2656
|
name: string;
|
|
@@ -2317,15 +2683,6 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2317
2683
|
};
|
|
2318
2684
|
outputFormat: "json";
|
|
2319
2685
|
status: 500;
|
|
2320
|
-
} | {
|
|
2321
|
-
input: {
|
|
2322
|
-
param: {
|
|
2323
|
-
name: string;
|
|
2324
|
-
};
|
|
2325
|
-
};
|
|
2326
|
-
output: NonSharedBuffer;
|
|
2327
|
-
outputFormat: "body";
|
|
2328
|
-
status: 200;
|
|
2329
2686
|
};
|
|
2330
2687
|
};
|
|
2331
2688
|
} & {
|
|
@@ -2357,9 +2714,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2357
2714
|
$get: {
|
|
2358
2715
|
input: {
|
|
2359
2716
|
param: {
|
|
2360
|
-
name: string;
|
|
2361
|
-
} & {
|
|
2362
2717
|
filename: string;
|
|
2718
|
+
} & {
|
|
2719
|
+
name: string;
|
|
2363
2720
|
};
|
|
2364
2721
|
};
|
|
2365
2722
|
output: {
|
|
@@ -2370,9 +2727,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2370
2727
|
} | {
|
|
2371
2728
|
input: {
|
|
2372
2729
|
param: {
|
|
2373
|
-
name: string;
|
|
2374
|
-
} & {
|
|
2375
2730
|
filename: string;
|
|
2731
|
+
} & {
|
|
2732
|
+
name: string;
|
|
2376
2733
|
};
|
|
2377
2734
|
};
|
|
2378
2735
|
output: {
|
|
@@ -2383,9 +2740,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2383
2740
|
} | {
|
|
2384
2741
|
input: {
|
|
2385
2742
|
param: {
|
|
2386
|
-
name: string;
|
|
2387
|
-
} & {
|
|
2388
2743
|
filename: string;
|
|
2744
|
+
} & {
|
|
2745
|
+
name: string;
|
|
2389
2746
|
};
|
|
2390
2747
|
};
|
|
2391
2748
|
output: {
|
|
@@ -2968,10 +3325,12 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2968
3325
|
};
|
|
2969
3326
|
};
|
|
2970
3327
|
output: {
|
|
2971
|
-
|
|
3328
|
+
installNotes: string | null;
|
|
3329
|
+
npmInstalled: string[];
|
|
3330
|
+
ok: true;
|
|
2972
3331
|
};
|
|
2973
3332
|
outputFormat: "json";
|
|
2974
|
-
status:
|
|
3333
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
2975
3334
|
} | {
|
|
2976
3335
|
input: {
|
|
2977
3336
|
json: {
|
|
@@ -2983,10 +3342,10 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
2983
3342
|
};
|
|
2984
3343
|
};
|
|
2985
3344
|
output: {
|
|
2986
|
-
|
|
3345
|
+
error: string;
|
|
2987
3346
|
};
|
|
2988
3347
|
outputFormat: "json";
|
|
2989
|
-
status:
|
|
3348
|
+
status: 400;
|
|
2990
3349
|
};
|
|
2991
3350
|
};
|
|
2992
3351
|
} & {
|
|
@@ -3288,6 +3647,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
3288
3647
|
username: string;
|
|
3289
3648
|
userType: "brain" | "mind";
|
|
3290
3649
|
role: "owner" | "member";
|
|
3650
|
+
displayName?: string | null | undefined;
|
|
3651
|
+
description?: string | null | undefined;
|
|
3652
|
+
avatar?: string | null | undefined;
|
|
3291
3653
|
}[];
|
|
3292
3654
|
outputFormat: "json";
|
|
3293
3655
|
status: hono_utils_http_status.ContentfulStatusCode;
|
|
@@ -3588,6 +3950,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
3588
3950
|
username: string;
|
|
3589
3951
|
userType: "brain" | "mind";
|
|
3590
3952
|
role: "owner" | "member";
|
|
3953
|
+
displayName?: string | null | undefined;
|
|
3954
|
+
description?: string | null | undefined;
|
|
3955
|
+
avatar?: string | null | undefined;
|
|
3591
3956
|
}[];
|
|
3592
3957
|
lastMessage?: {
|
|
3593
3958
|
role: "user" | "assistant";
|
|
@@ -3842,6 +4207,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
3842
4207
|
username: string;
|
|
3843
4208
|
userType: "brain" | "mind";
|
|
3844
4209
|
role: "owner" | "member";
|
|
4210
|
+
displayName?: string | null | undefined;
|
|
4211
|
+
description?: string | null | undefined;
|
|
4212
|
+
avatar?: string | null | undefined;
|
|
3845
4213
|
}[];
|
|
3846
4214
|
outputFormat: "json";
|
|
3847
4215
|
status: hono_utils_http_status.ContentfulStatusCode;
|
|
@@ -3979,6 +4347,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
3979
4347
|
username: string;
|
|
3980
4348
|
userType: "brain" | "mind";
|
|
3981
4349
|
role: "owner" | "member";
|
|
4350
|
+
displayName?: string | null | undefined;
|
|
4351
|
+
description?: string | null | undefined;
|
|
4352
|
+
avatar?: string | null | undefined;
|
|
3982
4353
|
}[];
|
|
3983
4354
|
lastMessage?: {
|
|
3984
4355
|
role: "user" | "assistant";
|
|
@@ -4064,6 +4435,9 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
4064
4435
|
username: string;
|
|
4065
4436
|
userType: "brain" | "mind";
|
|
4066
4437
|
role: "owner" | "member";
|
|
4438
|
+
displayName?: string | null | undefined;
|
|
4439
|
+
description?: string | null | undefined;
|
|
4440
|
+
avatar?: string | null | undefined;
|
|
4067
4441
|
}[];
|
|
4068
4442
|
outputFormat: "json";
|
|
4069
4443
|
status: hono_utils_http_status.ContentfulStatusCode;
|
|
@@ -4116,6 +4490,32 @@ declare const routes: hono_hono_base.HonoBase<hono_types.BlankEnv, hono_types.Bl
|
|
|
4116
4490
|
status: 400;
|
|
4117
4491
|
};
|
|
4118
4492
|
};
|
|
4493
|
+
} & {
|
|
4494
|
+
"/:id/read": {
|
|
4495
|
+
$post: {
|
|
4496
|
+
input: {
|
|
4497
|
+
param: {
|
|
4498
|
+
id: string;
|
|
4499
|
+
};
|
|
4500
|
+
};
|
|
4501
|
+
output: {
|
|
4502
|
+
ok: true;
|
|
4503
|
+
};
|
|
4504
|
+
outputFormat: "json";
|
|
4505
|
+
status: hono_utils_http_status.ContentfulStatusCode;
|
|
4506
|
+
} | {
|
|
4507
|
+
input: {
|
|
4508
|
+
param: {
|
|
4509
|
+
id: string;
|
|
4510
|
+
};
|
|
4511
|
+
};
|
|
4512
|
+
output: {
|
|
4513
|
+
error: string;
|
|
4514
|
+
};
|
|
4515
|
+
outputFormat: "json";
|
|
4516
|
+
status: 404;
|
|
4517
|
+
};
|
|
4518
|
+
};
|
|
4119
4519
|
} & {
|
|
4120
4520
|
"/:id": {
|
|
4121
4521
|
$delete: {
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
pollHealthDown,
|
|
6
6
|
readDaemonConfig,
|
|
7
7
|
stopService
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-3AIBT4TW.js";
|
|
9
9
|
import {
|
|
10
10
|
voluteHome
|
|
11
11
|
} from "./chunk-B2CPS4QU.js";
|
|
@@ -18,12 +18,12 @@ async function stopDaemon() {
|
|
|
18
18
|
const pidPath = resolve(home, "daemon.pid");
|
|
19
19
|
if (!existsSync(pidPath)) {
|
|
20
20
|
const configPath = resolve(home, "daemon.json");
|
|
21
|
-
let port =
|
|
21
|
+
let port = 1618;
|
|
22
22
|
let hostname = "localhost";
|
|
23
23
|
if (existsSync(configPath)) {
|
|
24
24
|
try {
|
|
25
25
|
const config = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
26
|
-
port = config.port ??
|
|
26
|
+
port = config.port ?? 1618;
|
|
27
27
|
hostname = config.hostname || "localhost";
|
|
28
28
|
} catch {
|
|
29
29
|
}
|
|
@@ -113,8 +113,8 @@ async function run(_args) {
|
|
|
113
113
|
console.error(`Failed to stop service: ${err instanceof Error ? err.message : err}`);
|
|
114
114
|
process.exit(1);
|
|
115
115
|
}
|
|
116
|
-
const
|
|
117
|
-
if (await pollHealthDown(
|
|
116
|
+
const config = readDaemonConfig();
|
|
117
|
+
if (await pollHealthDown("127.0.0.1", config.internalPort ?? config.port)) {
|
|
118
118
|
console.log("Daemon stopped.");
|
|
119
119
|
} else {
|
|
120
120
|
console.error("Service stopped but daemon may still be responding.");
|