hyperclaw 5.3.3 → 5.3.4
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/dist/banner-CP4LeLsu.js +143 -0
- package/dist/banner-D14weGVJ.js +7 -0
- package/dist/banner-mu7p6UkV.js +143 -0
- package/dist/banner-nRaqjrSN.js +7 -0
- package/dist/chat-BTJoZxtU.js +523 -0
- package/dist/chat-BYqxftlU.js +523 -0
- package/dist/daemon-BtQqCfEH.js +7 -0
- package/dist/daemon-WOoAWS-0.js +421 -0
- package/dist/engine-C88DJeLD.js +327 -0
- package/dist/engine-D9BvbJxu.js +7 -0
- package/dist/hyperclawbot-DC9nGl99.js +516 -0
- package/dist/mcp-loader-Bd7MNj5-.js +93 -0
- package/dist/onboard-BRN9NLFk.js +14 -0
- package/dist/onboard-Cxjlal2t.js +14 -0
- package/dist/onboard-i20xz3_O.js +3812 -0
- package/dist/onboard-x4I788gj.js +3812 -0
- package/dist/orchestrator-B9gd0u_r.js +6 -0
- package/dist/orchestrator-CfswFK1w.js +189 -0
- package/dist/osint-BXu9NVcF.js +283 -0
- package/dist/osint-D3OoMs9I.js +283 -0
- package/dist/osint-chat-BJfbgXwk.js +789 -0
- package/dist/osint-chat-CY2ODmY-.js +789 -0
- package/dist/run-main.js +130 -41
- package/dist/server-CSu5UPl3.js +4 -0
- package/dist/server-jkSNOitC.js +1366 -0
- package/dist/skill-runtime-CdR3YMFp.js +5 -0
- package/dist/skill-runtime-CxL0PxyP.js +104 -0
- package/dist/src-CboISwpv.js +63 -0
- package/dist/src-PutqGezt.js +458 -0
- package/dist/sub-agent-tools-DNbBE93o.js +39 -0
- package/dist/update-check-B-wd-tpa.js +7 -0
- package/dist/update-check-DlUFL81n.js +118 -0
- package/package.json +2 -2
- package/static/chat.html +2 -2
- package/static/web/assets/index-BhCDgT5S.js +75 -0
- package/static/web/assets/index-D2RfO0dG.css +1 -0
- package/static/web/icon.png +0 -0
- package/static/web/index.html +14 -0
package/dist/run-main.js
CHANGED
|
@@ -3,15 +3,15 @@ const require_paths = require('./paths-AIyBxIzm.js');
|
|
|
3
3
|
const require_paths$1 = require('./paths-DPovhojT.js');
|
|
4
4
|
require('./env-resolve-CHxjGo8u.js');
|
|
5
5
|
const require_config = require('./config-DGAAJ49A.js');
|
|
6
|
-
require('./server-
|
|
7
|
-
const require_daemon = require('./daemon-
|
|
6
|
+
require('./server-jkSNOitC.js');
|
|
7
|
+
const require_daemon = require('./daemon-WOoAWS-0.js');
|
|
8
8
|
const require_gateway = require('./gateway-CzI8dnlS.js');
|
|
9
9
|
require('./providers-DP8T0QCR.js');
|
|
10
|
-
const require_onboard = require('./onboard-
|
|
10
|
+
const require_onboard = require('./onboard-x4I788gj.js');
|
|
11
11
|
require('./theme-CLXvI6Hr.js');
|
|
12
|
-
const require_banner = require('./banner-
|
|
12
|
+
const require_banner = require('./banner-CP4LeLsu.js');
|
|
13
13
|
const require_hub = require('./hub-Bb_dYECE.js');
|
|
14
|
-
const require_update_check = require('./update-check-
|
|
14
|
+
const require_update_check = require('./update-check-DlUFL81n.js');
|
|
15
15
|
const require_manager = require('./manager-DYfzqckn.js');
|
|
16
16
|
const require_memory = require('./memory-BCYvdqwo.js');
|
|
17
17
|
const require_loader = require('./loader-DIPs649t.js');
|
|
@@ -2539,7 +2539,7 @@ function sanitizeForLog(value) {
|
|
|
2539
2539
|
return String(value ?? "").replace(/[\r\n\t]+/g, " ").replace(/[^\x20-\x7e]+/g, "?").slice(0, 200);
|
|
2540
2540
|
}
|
|
2541
2541
|
const program = new commander.Command();
|
|
2542
|
-
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.3.
|
|
2542
|
+
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.3.4").option("--profile <name>", "Use an isolated gateway profile. Auto-scopes HYPERCLAW_STATE_DIR and HYPERCLAW_CONFIG_PATH. Required for multi-gateway setups (rescue bot, staging, etc.). Example: hyperclaw --profile rescue gateway --port 19001").addHelpText("after", `
|
|
2543
2543
|
Full commands reference: READMECOMMAND.md (all commands and options)
|
|
2544
2544
|
|
|
2545
2545
|
Main command groups:
|
|
@@ -2711,7 +2711,7 @@ sandboxCmd.command("explain").description("Show effective sandbox mode, tool pol
|
|
|
2711
2711
|
const sandboxMode = cfg?.agents?.defaults?.sandbox?.mode ?? "non-main";
|
|
2712
2712
|
const toolsCfg = cfg?.tools ?? {};
|
|
2713
2713
|
const { describeToolPolicy, applyToolPolicy } = await Promise.resolve().then(() => require("./tool-policy-QXF3MMxu.js"));
|
|
2714
|
-
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-
|
|
2714
|
+
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
2715
2715
|
const allTools = [
|
|
2716
2716
|
...getBuiltinTools(),
|
|
2717
2717
|
...getSessionsTools(() => null),
|
|
@@ -2964,10 +2964,23 @@ program.command("update").description("Update HyperClaw").option("-c, --channel
|
|
|
2964
2964
|
await performUpdate(effective.channel, installKind);
|
|
2965
2965
|
process.exit(0);
|
|
2966
2966
|
});
|
|
2967
|
-
program.command("web").description("Launch React Web UI
|
|
2967
|
+
program.command("web").description("Launch React Web UI").option("--skip-install", "Skip npm install (use if deps already installed)").option("--port <port>", "Port to serve on", "3000").action(async (opts) => {
|
|
2968
2968
|
const path$5 = await import("path");
|
|
2969
2969
|
const fs$7 = await import("fs-extra");
|
|
2970
2970
|
const { spawn: spawn$1 } = await import("child_process");
|
|
2971
|
+
const http$2 = await import("http");
|
|
2972
|
+
const net$3 = await import("net");
|
|
2973
|
+
const PORT = parseInt(opts.port || "3000", 10);
|
|
2974
|
+
const GW_PORT = 18789;
|
|
2975
|
+
async function findBuiltDir() {
|
|
2976
|
+
const candidates = [
|
|
2977
|
+
process.env.HYPERCLAW_ROOT && path$5.join(process.env.HYPERCLAW_ROOT, "static", "web"),
|
|
2978
|
+
path$5.join(__dirname, "..", "static", "web"),
|
|
2979
|
+
path$5.join(__dirname, "..", "..", "static", "web")
|
|
2980
|
+
].filter(Boolean);
|
|
2981
|
+
for (const c of candidates) if (await fs$7.pathExists(path$5.join(c, "index.html"))) return c;
|
|
2982
|
+
return null;
|
|
2983
|
+
}
|
|
2971
2984
|
async function findWebDir() {
|
|
2972
2985
|
const candidates = [];
|
|
2973
2986
|
if (process.env.HYPERCLAW_ROOT) candidates.push(path$5.join(process.env.HYPERCLAW_ROOT, "apps", "web"));
|
|
@@ -2981,36 +2994,112 @@ program.command("web").description("Launch React Web UI — auto npm install and
|
|
|
2981
2994
|
}
|
|
2982
2995
|
candidates.push(path$5.join(__dirname, "..", "..", "apps", "web"));
|
|
2983
2996
|
candidates.push(path$5.join(__dirname, "..", "..", "..", "apps", "web"));
|
|
2984
|
-
for (const
|
|
2997
|
+
for (const c of candidates) if (await fs$7.pathExists(path$5.join(c, "package.json"))) return c;
|
|
2985
2998
|
return null;
|
|
2986
2999
|
}
|
|
3000
|
+
console.log(chalk.default.bold.hex("#06b6d4")("\n HyperClaw Web UI\n"));
|
|
3001
|
+
const builtDir = await findBuiltDir();
|
|
3002
|
+
if (builtDir) {
|
|
3003
|
+
console.log(chalk.default.gray(` Serving at http://localhost:${PORT}\n`));
|
|
3004
|
+
const MIME = {
|
|
3005
|
+
".html": "text/html; charset=utf-8",
|
|
3006
|
+
".js": "application/javascript",
|
|
3007
|
+
".css": "text/css",
|
|
3008
|
+
".json": "application/json",
|
|
3009
|
+
".png": "image/png",
|
|
3010
|
+
".svg": "image/svg+xml",
|
|
3011
|
+
".ico": "image/x-icon",
|
|
3012
|
+
".woff2": "font/woff2",
|
|
3013
|
+
".woff": "font/woff",
|
|
3014
|
+
".ttf": "font/ttf"
|
|
3015
|
+
};
|
|
3016
|
+
const server = http$2.createServer(async (req, res) => {
|
|
3017
|
+
const url = (req.url || "/").split("?")[0];
|
|
3018
|
+
if (url.startsWith("/api/") || url === "/api") {
|
|
3019
|
+
const pr = http$2.request({
|
|
3020
|
+
hostname: "localhost",
|
|
3021
|
+
port: GW_PORT,
|
|
3022
|
+
path: req.url,
|
|
3023
|
+
method: req.method,
|
|
3024
|
+
headers: {
|
|
3025
|
+
...req.headers,
|
|
3026
|
+
host: `localhost:${GW_PORT}`
|
|
3027
|
+
}
|
|
3028
|
+
}, (proxyRes) => {
|
|
3029
|
+
res.writeHead(proxyRes.statusCode || 200, proxyRes.headers);
|
|
3030
|
+
proxyRes.pipe(res);
|
|
3031
|
+
});
|
|
3032
|
+
pr.on("error", () => {
|
|
3033
|
+
res.writeHead(502);
|
|
3034
|
+
res.end("{\"error\":\"Gateway unreachable\"}");
|
|
3035
|
+
});
|
|
3036
|
+
req.pipe(pr);
|
|
3037
|
+
return;
|
|
3038
|
+
}
|
|
3039
|
+
let filePath = path$5.join(builtDir, url === "/" ? "index.html" : url);
|
|
3040
|
+
if (!await fs$7.pathExists(filePath)) filePath = path$5.join(builtDir, "index.html");
|
|
3041
|
+
try {
|
|
3042
|
+
const content = await fs$7.readFile(filePath);
|
|
3043
|
+
const ext = path$5.extname(filePath).toLowerCase();
|
|
3044
|
+
res.writeHead(200, { "Content-Type": MIME[ext] || "application/octet-stream" });
|
|
3045
|
+
res.end(content);
|
|
3046
|
+
} catch {
|
|
3047
|
+
res.writeHead(404);
|
|
3048
|
+
res.end("Not found");
|
|
3049
|
+
}
|
|
3050
|
+
});
|
|
3051
|
+
server.on("upgrade", (req, socket, head) => {
|
|
3052
|
+
const target = net$3.createConnection(GW_PORT, "localhost", () => {
|
|
3053
|
+
target.write(`${req.method} ${req.url} HTTP/1.1\r\n`);
|
|
3054
|
+
Object.entries(req.headers).forEach(([k, v]) => target.write(`${k}: ${v}\r\n`));
|
|
3055
|
+
target.write("\r\n");
|
|
3056
|
+
if (head?.length) target.write(head);
|
|
3057
|
+
});
|
|
3058
|
+
target.on("error", () => socket.destroy());
|
|
3059
|
+
socket.on("error", () => target.destroy());
|
|
3060
|
+
target.pipe(socket);
|
|
3061
|
+
socket.pipe(target);
|
|
3062
|
+
});
|
|
3063
|
+
server.listen(PORT, () => {
|
|
3064
|
+
console.log(chalk.default.hex("#06b6d4")(` Open: http://localhost:${PORT}\n`));
|
|
3065
|
+
});
|
|
3066
|
+
process.on("SIGINT", () => {
|
|
3067
|
+
server.close();
|
|
3068
|
+
process.exit(0);
|
|
3069
|
+
});
|
|
3070
|
+
process.on("SIGTERM", () => {
|
|
3071
|
+
server.close();
|
|
3072
|
+
process.exit(0);
|
|
3073
|
+
});
|
|
3074
|
+
return;
|
|
3075
|
+
}
|
|
2987
3076
|
const webDir = await findWebDir();
|
|
2988
3077
|
if (!webDir) {
|
|
2989
|
-
console.log(chalk.default.gray("\n
|
|
2990
|
-
console.log(chalk.default.gray("
|
|
3078
|
+
console.log(chalk.default.gray("\n Web UI not found (pre-built or source).\n"));
|
|
3079
|
+
console.log(chalk.default.gray(" Rebuild the UI from the repo:\n"));
|
|
3080
|
+
console.log(chalk.default.gray(" cd apps/web && npm install && npm run build\n"));
|
|
3081
|
+
console.log(chalk.default.gray(" Or set HYPERCLAW_ROOT=/path/to/your/hyperclaw/repo\n"));
|
|
2991
3082
|
process.exit(1);
|
|
2992
3083
|
}
|
|
2993
|
-
console.log(chalk.default.bold.hex("#06b6d4")("\n 🦅 HyperClaw Web UI\n"));
|
|
2994
3084
|
if (!opts.skipInstall) {
|
|
2995
3085
|
console.log(chalk.default.gray(" Installing dependencies...\n"));
|
|
2996
3086
|
await new Promise((resolve, reject) => {
|
|
2997
|
-
const
|
|
3087
|
+
const c = spawn$1("npm", ["install"], {
|
|
2998
3088
|
cwd: webDir,
|
|
2999
3089
|
stdio: "inherit",
|
|
3000
3090
|
shell: true
|
|
3001
3091
|
});
|
|
3002
|
-
|
|
3003
|
-
|
|
3092
|
+
c.on("error", reject);
|
|
3093
|
+
c.on("exit", (code) => code === 0 ? resolve() : reject(new Error("npm install failed")));
|
|
3004
3094
|
});
|
|
3005
3095
|
}
|
|
3006
|
-
|
|
3007
|
-
console.log(chalk.default.gray(` Starting dev server at http://localhost:${port}\n`));
|
|
3096
|
+
console.log(chalk.default.gray(` Starting Vite dev server at http://localhost:${PORT}\n`));
|
|
3008
3097
|
const child = spawn$1("npm", [
|
|
3009
3098
|
"run",
|
|
3010
3099
|
"dev",
|
|
3011
3100
|
"--",
|
|
3012
3101
|
"--port",
|
|
3013
|
-
|
|
3102
|
+
String(PORT)
|
|
3014
3103
|
], {
|
|
3015
3104
|
cwd: webDir,
|
|
3016
3105
|
stdio: "inherit",
|
|
@@ -3167,7 +3256,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
|
|
|
3167
3256
|
cfgCmd.command("schema").description("Show configuration schema").action(() => {
|
|
3168
3257
|
console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/hyperclaw.json\n"));
|
|
3169
3258
|
const schema = {
|
|
3170
|
-
version: "string (e.g. \"5.3.
|
|
3259
|
+
version: "string (e.g. \"5.3.4\")",
|
|
3171
3260
|
workspaceName: "string",
|
|
3172
3261
|
provider: {
|
|
3173
3262
|
providerId: "string",
|
|
@@ -3487,20 +3576,20 @@ securityCmd.command("audit").description("Security audit — file permissions, D
|
|
|
3487
3576
|
process.exit(0);
|
|
3488
3577
|
});
|
|
3489
3578
|
program.command("osint").description("OSINT / Ethical Hacking mode — configure HyperClaw for security research").argument("[workflow]", "Workflow preset: recon | bugbounty | pentest | footprint | custom | chat").option("--show", "Show current OSINT profile").option("--reset", "Clear OSINT profile and disable OSINT mode").option("--model <model>", "Override model for OSINT chat").action(async (workflow, opts) => {
|
|
3490
|
-
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-
|
|
3579
|
+
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-D3OoMs9I.js"));
|
|
3491
3580
|
if (opts.show || opts.reset) await osintSetup({
|
|
3492
3581
|
show: opts.show,
|
|
3493
3582
|
reset: opts.reset
|
|
3494
3583
|
});
|
|
3495
3584
|
else if (workflow === "chat") {
|
|
3496
|
-
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-
|
|
3585
|
+
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-BJfbgXwk.js"));
|
|
3497
3586
|
await runOsintChat({ model: opts.model });
|
|
3498
3587
|
} else if (workflow === "setup" || workflow) await osintSetup({ mode: workflow });
|
|
3499
3588
|
else await osintQuickStart();
|
|
3500
3589
|
process.exit(0);
|
|
3501
3590
|
});
|
|
3502
3591
|
program.command("chat").description("Interactive terminal chat with the agent").option("--session <id>", "Resume a named session").option("--model <model>", "Override model").option("--thinking <level>", "Thinking level: high|medium|low|none", "none").option("--workspace <dir>", "Override workspace directory").option("--daemon", "Use daemon theme (red borders & prompt)").action(async (opts) => {
|
|
3503
|
-
const { runChat } = await Promise.resolve().then(() => require("./chat-
|
|
3592
|
+
const { runChat } = await Promise.resolve().then(() => require("./chat-BTJoZxtU.js"));
|
|
3504
3593
|
const cfg = await new require_manager.ConfigManager().load().catch(() => null);
|
|
3505
3594
|
const port = cfg?.gateway?.port ?? 18789;
|
|
3506
3595
|
const gm = new GatewayManager$1();
|
|
@@ -3515,7 +3604,7 @@ program.command("chat").description("Interactive terminal chat with the agent").
|
|
|
3515
3604
|
});
|
|
3516
3605
|
const agentRunCmd = program.command("agent").description("Run agent with thinking control");
|
|
3517
3606
|
agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent").option("--thinking <level>", "Thinking level: high|medium|low|none", "none").option("--model <model>", "Override model").option("--session <id>", "Session/thread ID").option("--multi-step", "Decompose into steps and run each (sequential)").option("--parallel", "Run sub-agents in parallel for independent subtasks").option("--verbose", "Show thinking blocks and request details").option("--workspace <dir>", "Override workspace directory").action(async (opts) => {
|
|
3518
|
-
const { runAgent } = await Promise.resolve().then(() => require("./src-
|
|
3607
|
+
const { runAgent } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
3519
3608
|
await runAgent({
|
|
3520
3609
|
message: opts.message,
|
|
3521
3610
|
thinking: opts.thinking,
|
|
@@ -3531,7 +3620,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
|
|
|
3531
3620
|
});
|
|
3532
3621
|
const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
|
|
3533
3622
|
threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
|
|
3534
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3623
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
3535
3624
|
const mgr = new ACPThreadManager();
|
|
3536
3625
|
const threads = await mgr.list({
|
|
3537
3626
|
channelId: opts.channel,
|
|
@@ -3541,7 +3630,7 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
|
|
|
3541
3630
|
process.exit(0);
|
|
3542
3631
|
});
|
|
3543
3632
|
threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
|
|
3544
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3633
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
3545
3634
|
await new ACPThreadManager().terminate(id);
|
|
3546
3635
|
console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
|
|
3547
3636
|
process.exit(0);
|
|
@@ -3789,7 +3878,7 @@ logsCmd.action(async (opts) => {
|
|
|
3789
3878
|
}
|
|
3790
3879
|
});
|
|
3791
3880
|
program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
|
|
3792
|
-
const { startGateway } = await Promise.resolve().then(() => require("./server-
|
|
3881
|
+
const { startGateway } = await Promise.resolve().then(() => require("./server-CSu5UPl3.js"));
|
|
3793
3882
|
await startGateway();
|
|
3794
3883
|
process.on("SIGINT", () => process.exit(0));
|
|
3795
3884
|
process.on("SIGTERM", () => process.exit(0));
|
|
@@ -4042,13 +4131,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
|
|
|
4042
4131
|
});
|
|
4043
4132
|
const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
|
|
4044
4133
|
botCmd.command("status").action(async () => {
|
|
4045
|
-
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4134
|
+
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-DC9nGl99.js"));
|
|
4046
4135
|
await showBotStatus();
|
|
4047
4136
|
process.exit(0);
|
|
4048
4137
|
});
|
|
4049
4138
|
botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
|
|
4050
4139
|
const inquirer$2 = require("inquirer");
|
|
4051
|
-
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4140
|
+
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-DC9nGl99.js"));
|
|
4052
4141
|
const chalk$11 = require("chalk");
|
|
4053
4142
|
console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
|
|
4054
4143
|
console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
|
|
@@ -4110,14 +4199,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4110
4199
|
cwd: process.cwd()
|
|
4111
4200
|
});
|
|
4112
4201
|
child.unref();
|
|
4113
|
-
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4202
|
+
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-DC9nGl99.js"));
|
|
4114
4203
|
await writeBotPid(child.pid);
|
|
4115
4204
|
console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
|
|
4116
4205
|
console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
|
|
4117
4206
|
process.exit(0);
|
|
4118
4207
|
return;
|
|
4119
4208
|
}
|
|
4120
|
-
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4209
|
+
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-DC9nGl99.js"));
|
|
4121
4210
|
const cfg = await loadBotConfig();
|
|
4122
4211
|
if (!cfg) {
|
|
4123
4212
|
console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
|
|
@@ -4144,41 +4233,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4144
4233
|
});
|
|
4145
4234
|
botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
|
|
4146
4235
|
const chalk$11 = require("chalk");
|
|
4147
|
-
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4236
|
+
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-DC9nGl99.js"));
|
|
4148
4237
|
const stopped = await stopBotProcess();
|
|
4149
4238
|
if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
|
|
4150
4239
|
else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
|
|
4151
4240
|
process.exit(stopped ? 0 : 1);
|
|
4152
4241
|
});
|
|
4153
4242
|
memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
|
|
4154
|
-
const { searchMemory } = await Promise.resolve().then(() => require("./src-
|
|
4243
|
+
const { searchMemory } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4155
4244
|
await searchMemory(query);
|
|
4156
4245
|
process.exit(0);
|
|
4157
4246
|
});
|
|
4158
4247
|
memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
|
|
4159
|
-
const { showMemory } = await Promise.resolve().then(() => require("./src-
|
|
4248
|
+
const { showMemory } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4160
4249
|
await showMemory();
|
|
4161
4250
|
process.exit(0);
|
|
4162
4251
|
});
|
|
4163
4252
|
memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
|
|
4164
|
-
const { clearMemory } = await Promise.resolve().then(() => require("./src-
|
|
4253
|
+
const { clearMemory } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4165
4254
|
await clearMemory();
|
|
4166
4255
|
process.exit(0);
|
|
4167
4256
|
});
|
|
4168
4257
|
memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
|
|
4169
|
-
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-
|
|
4258
|
+
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4170
4259
|
await saveMemoryDirect(text);
|
|
4171
4260
|
console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
|
|
4172
4261
|
process.exit(0);
|
|
4173
4262
|
});
|
|
4174
4263
|
const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
|
|
4175
4264
|
pcCmd.command("status").description("Show PC access status and config").action(async () => {
|
|
4176
|
-
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-
|
|
4265
|
+
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4177
4266
|
await showPCAccessStatus();
|
|
4178
4267
|
process.exit(0);
|
|
4179
4268
|
});
|
|
4180
4269
|
pcCmd.command("enable").description("Enable PC access for the AI").option("--level <level>", "Access level: read-only | sandboxed | full", "full").option("--paths <paths>", "Comma-separated allowed paths (sandboxed mode)").action(async (opts) => {
|
|
4181
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4270
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4182
4271
|
const level = opts.level;
|
|
4183
4272
|
const allowed = [
|
|
4184
4273
|
"read-only",
|
|
@@ -4205,7 +4294,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
|
|
|
4205
4294
|
process.exit(0);
|
|
4206
4295
|
});
|
|
4207
4296
|
pcCmd.command("disable").description("Disable PC access").action(async () => {
|
|
4208
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4297
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4209
4298
|
await savePCAccessConfig({ enabled: false });
|
|
4210
4299
|
console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
|
|
4211
4300
|
process.exit(0);
|
|
@@ -4230,7 +4319,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
|
|
|
4230
4319
|
process.exit(0);
|
|
4231
4320
|
});
|
|
4232
4321
|
pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
|
|
4233
|
-
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-
|
|
4322
|
+
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-CboISwpv.js"));
|
|
4234
4323
|
const cfg = await loadPCAccessConfig();
|
|
4235
4324
|
if (!cfg.enabled) {
|
|
4236
4325
|
console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
|
|
@@ -4261,7 +4350,7 @@ program.command("setup").description("Setup wizard — alias for `hyperclaw onbo
|
|
|
4261
4350
|
});
|
|
4262
4351
|
async function runUpdateCheck() {
|
|
4263
4352
|
try {
|
|
4264
|
-
const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-
|
|
4353
|
+
const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-B-wd-tpa.js"));
|
|
4265
4354
|
const path$5 = require("path");
|
|
4266
4355
|
const { readFileSync } = require("fs");
|
|
4267
4356
|
const pkgPath = path$5.resolve(__dirname, "../package.json");
|
|
@@ -4289,7 +4378,7 @@ if (process.argv.length === 2) (async () => {
|
|
|
4289
4378
|
console.log(` ✓ ${t.c("hyperclaw --help")} — 📖 all commands\n`);
|
|
4290
4379
|
} else {
|
|
4291
4380
|
await new require_banner.Banner().showNeonBanner(false);
|
|
4292
|
-
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-
|
|
4381
|
+
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-BRN9NLFk.js"));
|
|
4293
4382
|
await new HyperClawWizard$1().run({ wizard: true });
|
|
4294
4383
|
}
|
|
4295
4384
|
await runUpdateCheck();
|