volute 0.29.0 → 0.30.1
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 +112 -13
- package/dist/{accept-666DIZX2.js → accept-E3PAH3QJ.js} +2 -2
- package/dist/{activity-events-BBIEA2F4.js → activity-events-BKBPPUBP.js} +2 -2
- package/dist/ai-service-VAJT5UBS.js +29 -0
- package/dist/api.d.ts +351 -477
- package/dist/{archive-UA4BDFXQ.js → archive-WWDBWYN2.js} +2 -2
- package/dist/{bridge-FQHZL3MC.js → bridge-RO37CUFM.js} +2 -2
- package/dist/{chat-KTPOR2JT.js → chat-TCUNPFGO.js} +8 -8
- package/dist/{chunk-FLZGS4QH.js → chunk-2C2VXEBB.js} +2 -2
- package/dist/chunk-2NDZC3S7.js +1330 -0
- package/dist/{chunk-IKRVFPWU.js → chunk-7D47T4RB.js} +3 -2
- package/dist/{chunk-AW7PFDVN.js → chunk-CVH6Y2YG.js} +1 -1
- package/dist/{chunk-XBLSAVJF.js → chunk-DTC6EH5I.js} +1 -1
- package/dist/{chunk-THUUIU3E.js → chunk-EFP3PE6C.js} +5 -5
- package/dist/{chunk-JGFVMROS.js → chunk-EFVHR7KH.js} +1 -1
- package/dist/{chunk-CQ7SNKNI.js → chunk-FSM45XD5.js} +1 -1
- package/dist/{chunk-LAC664WU.js → chunk-FXHXHI2A.js} +42 -24
- package/dist/{chunk-RKQEHRBB.js → chunk-G3GBKZGG.js} +1 -1
- package/dist/{chunk-H7OZRFJB.js → chunk-HHTXM4JT.js} +0 -49
- package/dist/{chunk-J4IBNXGJ.js → chunk-IKHDUZRH.js} +4 -3
- package/dist/{chunk-MD4C26II.js → chunk-JGFRDMR6.js} +1 -1
- package/dist/{chunk-EHZKEMMV.js → chunk-LIRWLNAK.js} +24 -10
- package/dist/{chunk-NI5FFCCS.js → chunk-MDPCSXZ4.js} +35 -11
- package/dist/chunk-NSBFETWP.js +188 -0
- package/dist/{chunk-VIVMW2H2.js → chunk-P27RV5WM.js} +1 -1
- package/dist/{chunk-EHYDTZTF.js → chunk-P7VFDSSG.js} +2 -2
- package/dist/{chunk-CMILSHZD.js → chunk-QVAQ5454.js} +84 -300
- package/dist/{chunk-HDN7MNGD.js → chunk-S5LR3XYJ.js} +1 -1
- package/dist/{chunk-2YP2TVDT.js → chunk-UPA6COHU.js} +5 -5
- package/dist/{chunk-AKPFNL7L.js → chunk-VGWJSNHS.js} +1 -1
- package/dist/{chunk-DUAUMCEE.js → chunk-W5OOPLNP.js} +3 -3
- package/dist/{chunk-2WPW7OT6.js → chunk-ZWKTUQEL.js} +1 -1
- package/dist/cli.js +22 -26
- package/dist/{clock-DGCBVGYA.js → clock-G3ALCMLJ.js} +10 -6
- package/dist/{cloud-sync-KILFGV5Q.js → cloud-sync-JV4LJOK3.js} +13 -12
- package/dist/{conversations-P5BL7RMX.js → conversations-7KVQV7EZ.js} +3 -3
- package/dist/{create-DFCAGEE5.js → create-JTLS7GX3.js} +2 -2
- package/dist/{create-QWV73WXD.js → create-VQSQHJQW.js} +1 -1
- package/dist/{daemon-client-I42FK2BF.js → daemon-client-BCTFGVCZ.js} +2 -2
- package/dist/{daemon-restart-UHOMICXT.js → daemon-restart-4JGBHEJ4.js} +7 -7
- package/dist/daemon.js +1257 -1022
- package/dist/{db-IC4J52XQ.js → db-HMFPIRO2.js} +1 -1
- package/dist/{delete-4JYGD4VN.js → delete-JESHKE7F.js} +1 -1
- package/dist/down-NGBMGORS.js +14 -0
- package/dist/{env-YJMUMFIY.js → env-CLXXT7M2.js} +2 -2
- package/dist/{export-BOJQWBMA.js → export-EGA5M5PB.js} +3 -3
- package/dist/extension-WZ4SUPJB.js +174 -0
- package/dist/extensions-ECO4RPFQ.js +27 -0
- package/dist/{files-M546TKVN.js → files-4VEJDASH.js} +3 -3
- package/dist/{history-ALPTNB3I.js → history-EJMMLXDO.js} +17 -2
- package/dist/{import-SRTQXBGH.js → import-YCGPMBSI.js} +3 -3
- package/dist/{join-J4QU42DL.js → join-2GBJKZEN.js} +1 -1
- package/dist/{list-R73GENNL.js → list-Q6O7FGAN.js} +2 -2
- package/dist/{login-3QZNR2DF.js → login-RET5WESK.js} +2 -2
- package/dist/{login-BKP3AFWN.js → login-RL6AU2SM.js} +3 -3
- package/dist/{logout-T53VKCPU.js → logout-CGAGJN3L.js} +2 -2
- package/dist/{logout-IQK7FNEK.js → logout-JRPBEMMR.js} +3 -3
- package/dist/message-delivery-6YMVNOEC.js +28 -0
- package/dist/{migrate-registry-to-db-XC7T5B7P.js → migrate-registry-to-db-FK35IPEH.js} +1 -1
- package/dist/{mind-S5V6CK5W.js → mind-LUWRQUQ5.js} +17 -17
- package/dist/{mind-activity-tracker-WRHFI3YW.js → mind-activity-tracker-VYN2ZZ2M.js} +3 -3
- package/dist/{mind-list-UPJ75GPI.js → mind-list-V5WW5DUA.js} +2 -2
- package/dist/{mind-manager-P66HQDNE.js → mind-manager-YFCOIAAX.js} +6 -6
- package/dist/{mind-sleep-BTSWQNAC.js → mind-sleep-R6PTNNW4.js} +2 -2
- package/dist/{mind-status-TK5AETEM.js → mind-status-I4ISFJ6I.js} +2 -2
- package/dist/{mind-wake-SBAKIDVP.js → mind-wake-67ZQEWAV.js} +2 -2
- package/dist/{package-OFKXNKJF.js → package-OYUD4ZJ4.js} +12 -6
- package/dist/{pages-watcher-P7QECRE2.js → pages-watcher-Z3PKNROC.js} +3 -3
- package/dist/{read-36UFXN3G.js → read-WQMPTSN2.js} +2 -2
- package/dist/{register-CHREOMJ3.js → register-NZDSTLP3.js} +3 -3
- package/dist/{registry-NDNOOYG4.js → registry-ODSALQQL.js} +1 -1
- package/dist/{reject-LXIZFJ4Q.js → reject-2HZOJEIJ.js} +2 -2
- package/dist/{restart-6ESL3NBO.js → restart-QHS3NT64.js} +2 -2
- package/dist/{sandbox-5BW5HPXM.js → sandbox-O5FUSF43.js} +3 -3
- package/dist/{seed-SSUCYYDF.js → seed-WUQMPLDM.js} +1 -1
- package/dist/{send-TAOEZ4NH.js → send-OAN3RYYY.js} +20 -6
- package/dist/{setup-JHL5ZEST.js → setup-QMDK5RZX.js} +2 -2
- package/dist/{setup-RXYVGGT7.js → setup-XJH3E7YM.js} +45 -14
- package/dist/{skill-AUAQTSP5.js → skill-FZIN4W4Q.js} +65 -3
- package/dist/skills/volute-mind/SKILL.md +10 -19
- package/dist/sleep-manager-O7YQFCV5.js +30 -0
- package/dist/{split-TKJ5OT3P.js → split-EXYGGGQN.js} +1 -1
- package/dist/{sprout-UNT7LKKE.js → sprout-AXQ6H5DB.js} +8 -7
- package/dist/{start-EUJSS5R4.js → start-MTOVL6SY.js} +2 -2
- package/dist/{status-NQJYR4BG.js → status-ZRO37MWR.js} +5 -5
- package/dist/{stop-3XAITBBF.js → stop-OK5WEPVC.js} +2 -2
- package/dist/{systems-SMEFSHTA.js → systems-W3BBMSOZ.js} +5 -5
- package/dist/{tailscale-NY5MUMY3.js → tailscale-BM72RXCJ.js} +1 -1
- package/dist/{template-hash-BIMA4ILT.js → template-hash-3HOR4UAJ.js} +1 -1
- package/dist/up-BXUAIDXB.js +17 -0
- package/dist/{update-PTSH22AZ.js → update-PLPHMMZ2.js} +5 -5
- package/dist/{update-check-64FWC4Y2.js → update-check-CVCN7MF6.js} +2 -2
- package/dist/{upgrade-HA47CS4C.js → upgrade-I6NPCYUU.js} +1 -1
- package/dist/{version-notify-WDHRO3XD.js → version-notify-2NTWVEHL.js} +15 -14
- package/dist/web-assets/assets/index--kREqKl9.js +72 -0
- package/dist/web-assets/assets/index-BXYTG0nJ.css +1 -0
- package/dist/web-assets/ext-theme.css +111 -0
- package/dist/web-assets/index.html +2 -2
- package/package.json +12 -6
- package/packages/extensions/notes/dist/ui/assets/index-DgawVO5g.css +1 -0
- package/packages/extensions/notes/dist/ui/assets/index-qUWoeC4c.js +2 -0
- package/packages/extensions/notes/dist/ui/index.html +14 -0
- package/packages/extensions/notes/skills/notes/SKILL.md +62 -0
- package/packages/extensions/notes/skills/notes/scripts/notes.mjs +185 -0
- package/packages/extensions/pages/dist/ui/assets/index-D0HyS-xQ.css +1 -0
- package/packages/extensions/pages/dist/ui/assets/index-tLTROSk5.js +2 -0
- package/packages/extensions/pages/dist/ui/index.html +14 -0
- package/packages/extensions/pages/skills/pages/SKILL.md +58 -0
- package/templates/_base/home/VOLUTE.md +1 -1
- package/dist/chunk-P72MVS4R.js +0 -188
- package/dist/chunk-ZYGKG6VC.js +0 -22
- package/dist/down-LVBXEULC.js +0 -14
- package/dist/message-delivery-Q7VUMIEI.js +0 -27
- package/dist/notes-XCER3I7M.js +0 -220
- package/dist/pages-EUJR52AH.js +0 -36
- package/dist/publish-ZZB33WP4.js +0 -86
- package/dist/skills/notes/SKILL.md +0 -34
- package/dist/sleep-manager-G4B5GW5P.js +0 -29
- package/dist/status-S7UUPNRW.js +0 -38
- package/dist/up-W6VAK2XE.js +0 -17
- package/dist/web-assets/assets/index-BmKDnWDB.css +0 -1
- package/dist/web-assets/assets/index-CLJMx-GA.js +0 -71
|
@@ -13,7 +13,7 @@ async function run(args) {
|
|
|
13
13
|
force: { type: "boolean" }
|
|
14
14
|
});
|
|
15
15
|
const name = resolveMindName({ mind: positional[0] });
|
|
16
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
16
|
+
const { daemonFetch } = await import("./daemon-client-BCTFGVCZ.js");
|
|
17
17
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
18
18
|
const client = getClient();
|
|
19
19
|
const url = urlOf(client.api.minds[":name"].$url({ param: { name } })) + (flags.force ? "?force=true" : "");
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
run,
|
|
4
|
+
stopDaemon
|
|
5
|
+
} from "./chunk-P7VFDSSG.js";
|
|
6
|
+
import "./chunk-FXHXHI2A.js";
|
|
7
|
+
import "./chunk-CVH6Y2YG.js";
|
|
8
|
+
import "./chunk-G3GBKZGG.js";
|
|
9
|
+
import "./chunk-HHTXM4JT.js";
|
|
10
|
+
import "./chunk-K3NQKI34.js";
|
|
11
|
+
export {
|
|
12
|
+
run,
|
|
13
|
+
stopDaemon
|
|
14
|
+
};
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-SSI47XP2.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
getClient,
|
|
10
10
|
urlOf
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
parseArgs
|
|
14
14
|
} from "./chunk-D424ZQGI.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-HHTXM4JT.js";
|
|
16
16
|
import "./chunk-K3NQKI34.js";
|
|
17
17
|
|
|
18
18
|
// src/commands/env.ts
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
import {
|
|
3
3
|
addHistoryToArchive,
|
|
4
4
|
createExportArchive
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-DTC6EH5I.js";
|
|
6
6
|
import {
|
|
7
7
|
parseArgs
|
|
8
8
|
} from "./chunk-D424ZQGI.js";
|
|
9
9
|
import {
|
|
10
10
|
findMind,
|
|
11
11
|
mindDir
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-HHTXM4JT.js";
|
|
13
13
|
import "./chunk-K3NQKI34.js";
|
|
14
14
|
|
|
15
15
|
// src/commands/export.ts
|
|
@@ -63,7 +63,7 @@ async function run(args) {
|
|
|
63
63
|
});
|
|
64
64
|
if (includeHistory) {
|
|
65
65
|
try {
|
|
66
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
66
|
+
const { daemonFetch } = await import("./daemon-client-BCTFGVCZ.js");
|
|
67
67
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
68
68
|
const client = getClient();
|
|
69
69
|
const res = await daemonFetch(
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
daemonFetch
|
|
4
|
+
} from "./chunk-EFVHR7KH.js";
|
|
5
|
+
import {
|
|
6
|
+
exec
|
|
7
|
+
} from "./chunk-CVH6Y2YG.js";
|
|
8
|
+
import "./chunk-G3GBKZGG.js";
|
|
9
|
+
import "./chunk-HHTXM4JT.js";
|
|
10
|
+
import "./chunk-K3NQKI34.js";
|
|
11
|
+
|
|
12
|
+
// src/commands/extension.ts
|
|
13
|
+
import { existsSync, mkdirSync, readdirSync, readFileSync, writeFileSync } from "fs";
|
|
14
|
+
import { resolve } from "path";
|
|
15
|
+
function extensionsNpmDir() {
|
|
16
|
+
const home = process.env.VOLUTE_HOME ?? resolve(process.env.HOME ?? "", ".volute");
|
|
17
|
+
return resolve(home, "extensions", "_npm");
|
|
18
|
+
}
|
|
19
|
+
function ensureExtensionsNpmDir() {
|
|
20
|
+
const dir = extensionsNpmDir();
|
|
21
|
+
mkdirSync(dir, { recursive: true });
|
|
22
|
+
const pkgPath = resolve(dir, "package.json");
|
|
23
|
+
if (!existsSync(pkgPath)) {
|
|
24
|
+
writeFileSync(pkgPath, '{"private":true,"dependencies":{}}\n');
|
|
25
|
+
}
|
|
26
|
+
return dir;
|
|
27
|
+
}
|
|
28
|
+
async function run(args) {
|
|
29
|
+
const subcommand = args[0];
|
|
30
|
+
switch (subcommand) {
|
|
31
|
+
case "list":
|
|
32
|
+
await listExtensions();
|
|
33
|
+
break;
|
|
34
|
+
case "install":
|
|
35
|
+
await installExtension(args.slice(1));
|
|
36
|
+
break;
|
|
37
|
+
case "uninstall":
|
|
38
|
+
await uninstallExtension(args.slice(1));
|
|
39
|
+
break;
|
|
40
|
+
case "--help":
|
|
41
|
+
case "-h":
|
|
42
|
+
case void 0:
|
|
43
|
+
printUsage();
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
console.error(`Unknown subcommand: ${subcommand}`);
|
|
47
|
+
printUsage();
|
|
48
|
+
process.exit(1);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function printUsage() {
|
|
52
|
+
console.log(`Usage:
|
|
53
|
+
volute extension list List installed extensions
|
|
54
|
+
volute extension install <package> Install a third-party extension
|
|
55
|
+
volute extension uninstall <package> Uninstall a third-party extension`);
|
|
56
|
+
}
|
|
57
|
+
async function listExtensions() {
|
|
58
|
+
const res = await daemonFetch("/api/extensions");
|
|
59
|
+
if (!res.ok) {
|
|
60
|
+
const body = await res.json().catch(() => ({ error: "Unknown error" }));
|
|
61
|
+
console.error(`Error: ${body.error}`);
|
|
62
|
+
process.exit(1);
|
|
63
|
+
}
|
|
64
|
+
const extensions = await res.json();
|
|
65
|
+
if (extensions.length === 0) {
|
|
66
|
+
console.log("No extensions installed.");
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
console.log("Extensions:\n");
|
|
70
|
+
for (const ext of extensions) {
|
|
71
|
+
console.log(` ${ext.id} \u2014 ${ext.name} v${ext.version}`);
|
|
72
|
+
if (ext.description) console.log(` ${ext.description}`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
function extensionsConfigPath() {
|
|
76
|
+
const home = process.env.VOLUTE_HOME ?? resolve(process.env.HOME ?? "", ".volute");
|
|
77
|
+
return resolve(home, "system", "extensions.json");
|
|
78
|
+
}
|
|
79
|
+
function readConfig() {
|
|
80
|
+
const configPath = extensionsConfigPath();
|
|
81
|
+
if (!existsSync(configPath)) return [];
|
|
82
|
+
try {
|
|
83
|
+
const data = JSON.parse(readFileSync(configPath, "utf-8"));
|
|
84
|
+
return Array.isArray(data) ? data : [];
|
|
85
|
+
} catch (err) {
|
|
86
|
+
console.error(
|
|
87
|
+
`Warning: failed to read extensions config at ${configPath}: ${err.message}`
|
|
88
|
+
);
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
function writeConfig(packages) {
|
|
93
|
+
const configPath = extensionsConfigPath();
|
|
94
|
+
mkdirSync(resolve(configPath, ".."), { recursive: true });
|
|
95
|
+
writeFileSync(configPath, `${JSON.stringify(packages, null, 2)}
|
|
96
|
+
`);
|
|
97
|
+
}
|
|
98
|
+
async function installExtension(args) {
|
|
99
|
+
const pkg = args[0];
|
|
100
|
+
if (!pkg) {
|
|
101
|
+
console.error("Usage: volute extension install <package>");
|
|
102
|
+
process.exit(1);
|
|
103
|
+
}
|
|
104
|
+
const packages = readConfig();
|
|
105
|
+
if (packages.includes(pkg)) {
|
|
106
|
+
console.log(`Extension "${pkg}" is already installed.`);
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const dir = ensureExtensionsNpmDir();
|
|
110
|
+
console.log(`Installing "${pkg}"...`);
|
|
111
|
+
try {
|
|
112
|
+
await exec("npm", ["install", pkg], { cwd: dir });
|
|
113
|
+
} catch (err) {
|
|
114
|
+
console.error(`Failed to install "${pkg}": ${err.message}`);
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
packages.push(pkg);
|
|
118
|
+
writeConfig(packages);
|
|
119
|
+
console.log(`Installed "${pkg}".`);
|
|
120
|
+
console.log("Restart the daemon (`volute restart`) to load the extension.");
|
|
121
|
+
}
|
|
122
|
+
async function uninstallExtension(args) {
|
|
123
|
+
const pkg = args[0];
|
|
124
|
+
if (!pkg) {
|
|
125
|
+
console.error("Usage: volute extension uninstall <package>");
|
|
126
|
+
process.exit(1);
|
|
127
|
+
}
|
|
128
|
+
const packages = readConfig();
|
|
129
|
+
const idx = packages.indexOf(pkg);
|
|
130
|
+
if (idx === -1) {
|
|
131
|
+
console.error(`Extension "${pkg}" is not installed.`);
|
|
132
|
+
process.exit(1);
|
|
133
|
+
}
|
|
134
|
+
await cleanupExtensionSkills(pkg);
|
|
135
|
+
packages.splice(idx, 1);
|
|
136
|
+
writeConfig(packages);
|
|
137
|
+
try {
|
|
138
|
+
await exec("npm", ["uninstall", pkg], { cwd: extensionsNpmDir() });
|
|
139
|
+
} catch (err) {
|
|
140
|
+
console.warn(
|
|
141
|
+
` Warning: npm uninstall failed (package may have been manually removed): ${err.message}`
|
|
142
|
+
);
|
|
143
|
+
}
|
|
144
|
+
console.log(`Removed "${pkg}".`);
|
|
145
|
+
console.log("Restart the daemon (`volute restart`) to unload the extension.");
|
|
146
|
+
}
|
|
147
|
+
async function cleanupExtensionSkills(pkg) {
|
|
148
|
+
try {
|
|
149
|
+
const pkgDir = resolve(extensionsNpmDir(), "node_modules", pkg);
|
|
150
|
+
if (!existsSync(pkgDir)) return;
|
|
151
|
+
const { createRequire } = await import("module");
|
|
152
|
+
const require2 = createRequire(resolve(extensionsNpmDir(), "noop.js"));
|
|
153
|
+
const mod = require2(pkg);
|
|
154
|
+
const manifest = mod.default ?? mod.extension ?? mod;
|
|
155
|
+
if (!manifest?.skillsDir || !existsSync(manifest.skillsDir)) return;
|
|
156
|
+
const skillDirs = readdirSync(manifest.skillsDir, { withFileTypes: true }).filter((d) => d.isDirectory()).map((d) => d.name);
|
|
157
|
+
for (const skillId of skillDirs) {
|
|
158
|
+
await daemonFetch(`/api/skills/defaults/list/${encodeURIComponent(skillId)}`, {
|
|
159
|
+
method: "DELETE"
|
|
160
|
+
}).catch(() => {
|
|
161
|
+
});
|
|
162
|
+
await daemonFetch(`/api/skills/${encodeURIComponent(skillId)}`, {
|
|
163
|
+
method: "DELETE"
|
|
164
|
+
}).catch(() => {
|
|
165
|
+
});
|
|
166
|
+
console.log(` Removed skill: ${skillId}`);
|
|
167
|
+
}
|
|
168
|
+
} catch (err) {
|
|
169
|
+
console.warn(` Warning: could not clean up skills for "${pkg}": ${err.message}`);
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
export {
|
|
173
|
+
run
|
|
174
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
getExtensionStandardSkills,
|
|
4
|
+
getLoadedExtensions,
|
|
5
|
+
loadAllExtensions,
|
|
6
|
+
notifyExtensionsDaemonStart,
|
|
7
|
+
notifyExtensionsDaemonStop,
|
|
8
|
+
notifyExtensionsMindStart,
|
|
9
|
+
notifyExtensionsMindStop
|
|
10
|
+
} from "./chunk-2NDZC3S7.js";
|
|
11
|
+
import "./chunk-P27RV5WM.js";
|
|
12
|
+
import "./chunk-MDPCSXZ4.js";
|
|
13
|
+
import "./chunk-YUIHSKR6.js";
|
|
14
|
+
import "./chunk-CVH6Y2YG.js";
|
|
15
|
+
import "./chunk-G3GBKZGG.js";
|
|
16
|
+
import "./chunk-7D47T4RB.js";
|
|
17
|
+
import "./chunk-HHTXM4JT.js";
|
|
18
|
+
import "./chunk-K3NQKI34.js";
|
|
19
|
+
export {
|
|
20
|
+
getExtensionStandardSkills,
|
|
21
|
+
getLoadedExtensions,
|
|
22
|
+
loadAllExtensions,
|
|
23
|
+
notifyExtensionsDaemonStart,
|
|
24
|
+
notifyExtensionsDaemonStop,
|
|
25
|
+
notifyExtensionsMindStart,
|
|
26
|
+
notifyExtensionsMindStop
|
|
27
|
+
};
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-NAOW2CLO.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
formatFileSize
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JGFRDMR6.js";
|
|
11
11
|
import {
|
|
12
12
|
parseArgs
|
|
13
13
|
} from "./chunk-D424ZQGI.js";
|
|
14
|
-
import "./chunk-
|
|
14
|
+
import "./chunk-HHTXM4JT.js";
|
|
15
15
|
import "./chunk-K3NQKI34.js";
|
|
16
16
|
|
|
17
17
|
// src/commands/chat/files.ts
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
} from "./chunk-NAOW2CLO.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
getClient,
|
|
10
10
|
urlOf
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
import {
|
|
13
13
|
parseArgs
|
|
14
14
|
} from "./chunk-D424ZQGI.js";
|
|
15
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-HHTXM4JT.js";
|
|
16
16
|
import "./chunk-K3NQKI34.js";
|
|
17
17
|
|
|
18
18
|
// src/commands/history.ts
|
|
@@ -68,6 +68,21 @@ function formatRow(row) {
|
|
|
68
68
|
}
|
|
69
69
|
return `[${time}] [log] ${category}${row.content ?? ""}`;
|
|
70
70
|
}
|
|
71
|
+
case "summary": {
|
|
72
|
+
let range = "";
|
|
73
|
+
if (row.metadata) {
|
|
74
|
+
try {
|
|
75
|
+
const meta = JSON.parse(row.metadata);
|
|
76
|
+
if (meta.from_time && meta.to_time) {
|
|
77
|
+
const from = new Date(normalizeTimestamp(meta.from_time)).toLocaleTimeString();
|
|
78
|
+
const to = new Date(normalizeTimestamp(meta.to_time)).toLocaleTimeString();
|
|
79
|
+
range = ` (${from}\u2013${to})`;
|
|
80
|
+
}
|
|
81
|
+
} catch {
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return `[${time}] [summary${range}] ${row.content ?? ""}`;
|
|
85
|
+
}
|
|
71
86
|
case "session_start":
|
|
72
87
|
return `[${time}] [session_start] ${row.session ?? ""}`;
|
|
73
88
|
default:
|
|
@@ -6,11 +6,11 @@ import {
|
|
|
6
6
|
parseNameFromIdentity,
|
|
7
7
|
run,
|
|
8
8
|
sessionMatchesWorkspace
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-UPA6COHU.js";
|
|
10
|
+
import "./chunk-ZWKTUQEL.js";
|
|
11
11
|
import "./chunk-YUIHSKR6.js";
|
|
12
12
|
import "./chunk-D424ZQGI.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-HHTXM4JT.js";
|
|
14
14
|
import "./chunk-K3NQKI34.js";
|
|
15
15
|
export {
|
|
16
16
|
findOpenClawSession,
|
|
@@ -20,7 +20,7 @@ async function run(args) {
|
|
|
20
20
|
process.exit(1);
|
|
21
21
|
}
|
|
22
22
|
console.log(`Joining variant ${variantName}...`);
|
|
23
|
-
const { daemonFetch } = await import("./daemon-client-
|
|
23
|
+
const { daemonFetch } = await import("./daemon-client-BCTFGVCZ.js");
|
|
24
24
|
const { getClient, urlOf } = await import("./api-client-YPKOZP2O.js");
|
|
25
25
|
const client = getClient();
|
|
26
26
|
const statusRes = await daemonFetch(
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-NAOW2CLO.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
parseArgs
|
|
10
10
|
} from "./chunk-D424ZQGI.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-HHTXM4JT.js";
|
|
12
12
|
import "./chunk-K3NQKI34.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/chat/list.ts
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-SSI47XP2.js";
|
|
6
6
|
import {
|
|
7
7
|
daemonFetch
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-EFVHR7KH.js";
|
|
9
9
|
import {
|
|
10
10
|
voluteUserHome
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-HHTXM4JT.js";
|
|
12
12
|
import "./chunk-K3NQKI34.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/login.ts
|
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
} from "./chunk-SSI47XP2.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
parseArgs
|
|
10
10
|
} from "./chunk-D424ZQGI.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-HHTXM4JT.js";
|
|
12
12
|
import "./chunk-K3NQKI34.js";
|
|
13
13
|
|
|
14
|
-
// src/commands/
|
|
14
|
+
// src/commands/systems/login.ts
|
|
15
15
|
async function run(args) {
|
|
16
16
|
const { flags } = parseArgs(args, {
|
|
17
17
|
key: { type: "string" }
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
daemonFetch
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-EFVHR7KH.js";
|
|
5
5
|
import {
|
|
6
6
|
voluteUserHome
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HHTXM4JT.js";
|
|
8
8
|
import "./chunk-K3NQKI34.js";
|
|
9
9
|
|
|
10
10
|
// src/commands/logout.ts
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
daemonFetch
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-EFVHR7KH.js";
|
|
5
|
+
import "./chunk-HHTXM4JT.js";
|
|
6
6
|
import "./chunk-K3NQKI34.js";
|
|
7
7
|
|
|
8
|
-
// src/commands/
|
|
8
|
+
// src/commands/systems/logout.ts
|
|
9
9
|
async function run() {
|
|
10
10
|
const res = await daemonFetch("/api/system/logout", { method: "POST" });
|
|
11
11
|
if (!res.ok) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import {
|
|
3
|
+
deliverMessage,
|
|
4
|
+
extractTextContent,
|
|
5
|
+
recordInbound,
|
|
6
|
+
resolveSleepAction
|
|
7
|
+
} from "./chunk-QVAQ5454.js";
|
|
8
|
+
import "./chunk-FSM45XD5.js";
|
|
9
|
+
import "./chunk-LIRWLNAK.js";
|
|
10
|
+
import "./chunk-IKHDUZRH.js";
|
|
11
|
+
import "./chunk-2C2VXEBB.js";
|
|
12
|
+
import "./chunk-2NDZC3S7.js";
|
|
13
|
+
import "./chunk-P27RV5WM.js";
|
|
14
|
+
import "./chunk-MDPCSXZ4.js";
|
|
15
|
+
import "./chunk-ZWKTUQEL.js";
|
|
16
|
+
import "./chunk-YUIHSKR6.js";
|
|
17
|
+
import "./chunk-CVH6Y2YG.js";
|
|
18
|
+
import "./chunk-G3GBKZGG.js";
|
|
19
|
+
import "./chunk-7D47T4RB.js";
|
|
20
|
+
import "./chunk-A6TUJJ3L.js";
|
|
21
|
+
import "./chunk-HHTXM4JT.js";
|
|
22
|
+
import "./chunk-K3NQKI34.js";
|
|
23
|
+
export {
|
|
24
|
+
deliverMessage,
|
|
25
|
+
extractTextContent,
|
|
26
|
+
recordInbound,
|
|
27
|
+
resolveSleepAction
|
|
28
|
+
};
|
|
@@ -6,58 +6,58 @@ async function run(args) {
|
|
|
6
6
|
const subcommand = args[0];
|
|
7
7
|
switch (subcommand) {
|
|
8
8
|
case "create":
|
|
9
|
-
await import("./create-
|
|
9
|
+
await import("./create-VQSQHJQW.js").then((m) => m.run(args.slice(1)));
|
|
10
10
|
break;
|
|
11
11
|
case "start":
|
|
12
|
-
await import("./start-
|
|
12
|
+
await import("./start-MTOVL6SY.js").then((m) => m.run(args.slice(1)));
|
|
13
13
|
break;
|
|
14
14
|
case "stop":
|
|
15
|
-
await import("./stop-
|
|
15
|
+
await import("./stop-OK5WEPVC.js").then((m) => m.run(args.slice(1)));
|
|
16
16
|
break;
|
|
17
17
|
case "restart":
|
|
18
|
-
await import("./restart-
|
|
18
|
+
await import("./restart-QHS3NT64.js").then((m) => m.run(args.slice(1)));
|
|
19
19
|
break;
|
|
20
20
|
case "delete":
|
|
21
|
-
await import("./delete-
|
|
21
|
+
await import("./delete-JESHKE7F.js").then((m) => m.run(args.slice(1)));
|
|
22
22
|
break;
|
|
23
23
|
case "list":
|
|
24
|
-
await import("./mind-list-
|
|
24
|
+
await import("./mind-list-V5WW5DUA.js").then((m) => m.run(args.slice(1)));
|
|
25
25
|
break;
|
|
26
26
|
case "status":
|
|
27
|
-
await import("./mind-status-
|
|
27
|
+
await import("./mind-status-I4ISFJ6I.js").then((m) => m.run(args.slice(1)));
|
|
28
28
|
break;
|
|
29
29
|
case "history": {
|
|
30
30
|
const rest = args.slice(1);
|
|
31
31
|
const historyArgs = transformMindFlag(rest);
|
|
32
|
-
await import("./history-
|
|
32
|
+
await import("./history-EJMMLXDO.js").then((m) => m.run(historyArgs));
|
|
33
33
|
break;
|
|
34
34
|
}
|
|
35
35
|
case "upgrade":
|
|
36
|
-
await import("./upgrade-
|
|
36
|
+
await import("./upgrade-I6NPCYUU.js").then((m) => m.run(args.slice(1)));
|
|
37
37
|
break;
|
|
38
38
|
case "import":
|
|
39
|
-
await import("./import-
|
|
39
|
+
await import("./import-YCGPMBSI.js").then((m) => m.run(args.slice(1)));
|
|
40
40
|
break;
|
|
41
41
|
case "export":
|
|
42
|
-
await import("./export-
|
|
42
|
+
await import("./export-EGA5M5PB.js").then((m) => m.run(args.slice(1)));
|
|
43
43
|
break;
|
|
44
44
|
case "seed":
|
|
45
|
-
await import("./seed-
|
|
45
|
+
await import("./seed-WUQMPLDM.js").then((m) => m.run(args.slice(1)));
|
|
46
46
|
break;
|
|
47
47
|
case "sprout":
|
|
48
|
-
await import("./sprout-
|
|
48
|
+
await import("./sprout-AXQ6H5DB.js").then((m) => m.run(args.slice(1)));
|
|
49
49
|
break;
|
|
50
50
|
case "sleep":
|
|
51
|
-
await import("./mind-sleep-
|
|
51
|
+
await import("./mind-sleep-R6PTNNW4.js").then((m) => m.run(args.slice(1)));
|
|
52
52
|
break;
|
|
53
53
|
case "wake":
|
|
54
|
-
await import("./mind-wake-
|
|
54
|
+
await import("./mind-wake-67ZQEWAV.js").then((m) => m.run(args.slice(1)));
|
|
55
55
|
break;
|
|
56
56
|
case "split":
|
|
57
|
-
await import("./split-
|
|
57
|
+
await import("./split-EXYGGGQN.js").then((m) => m.run(args.slice(1)));
|
|
58
58
|
break;
|
|
59
59
|
case "join":
|
|
60
|
-
await import("./join-
|
|
60
|
+
await import("./join-2GBJKZEN.js").then((m) => m.run(args.slice(1)));
|
|
61
61
|
break;
|
|
62
62
|
case "--help":
|
|
63
63
|
case "-h":
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
markIdle,
|
|
5
5
|
onMindEvent,
|
|
6
6
|
stopAll
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-FSM45XD5.js";
|
|
8
|
+
import "./chunk-P27RV5WM.js";
|
|
9
9
|
import "./chunk-YUIHSKR6.js";
|
|
10
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-HHTXM4JT.js";
|
|
11
11
|
import "./chunk-K3NQKI34.js";
|
|
12
12
|
export {
|
|
13
13
|
getActiveMinds,
|
|
@@ -3,13 +3,13 @@ import {
|
|
|
3
3
|
MindManager,
|
|
4
4
|
getMindManager,
|
|
5
5
|
initMindManager
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import "./chunk-
|
|
8
|
-
import "./chunk-
|
|
6
|
+
} from "./chunk-LIRWLNAK.js";
|
|
7
|
+
import "./chunk-IKHDUZRH.js";
|
|
8
|
+
import "./chunk-ZWKTUQEL.js";
|
|
9
9
|
import "./chunk-YUIHSKR6.js";
|
|
10
|
-
import "./chunk-
|
|
11
|
-
import "./chunk-
|
|
12
|
-
import "./chunk-
|
|
10
|
+
import "./chunk-G3GBKZGG.js";
|
|
11
|
+
import "./chunk-7D47T4RB.js";
|
|
12
|
+
import "./chunk-HHTXM4JT.js";
|
|
13
13
|
import "./chunk-K3NQKI34.js";
|
|
14
14
|
export {
|
|
15
15
|
MindManager,
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-NAOW2CLO.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
parseArgs
|
|
10
10
|
} from "./chunk-D424ZQGI.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-HHTXM4JT.js";
|
|
12
12
|
import "./chunk-K3NQKI34.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/mind-sleep.ts
|
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
} from "./chunk-NAOW2CLO.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
|
+
import "./chunk-HHTXM4JT.js";
|
|
9
9
|
import "./chunk-K3NQKI34.js";
|
|
10
10
|
|
|
11
11
|
// src/commands/mind-status.ts
|
|
@@ -4,11 +4,11 @@ import {
|
|
|
4
4
|
} from "./chunk-NAOW2CLO.js";
|
|
5
5
|
import {
|
|
6
6
|
daemonFetch
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EFVHR7KH.js";
|
|
8
8
|
import {
|
|
9
9
|
parseArgs
|
|
10
10
|
} from "./chunk-D424ZQGI.js";
|
|
11
|
-
import "./chunk-
|
|
11
|
+
import "./chunk-HHTXM4JT.js";
|
|
12
12
|
import "./chunk-K3NQKI34.js";
|
|
13
13
|
|
|
14
14
|
// src/commands/mind-wake.ts
|