hyperclaw 5.3.2 → 5.3.3
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-BT9llPVP.js +7 -0
- package/dist/banner-DNSYi9N-.js +143 -0
- package/dist/chat-CKLXvJjd.js +545 -0
- package/dist/daemon-Bi0rcsh5.js +421 -0
- package/dist/daemon-DnWIgRUn.js +7 -0
- package/dist/engine-BZ44Vuhh.js +7 -0
- package/dist/engine-C1osvhmq.js +327 -0
- package/dist/hyperclawbot-DC3jGsoA.js +516 -0
- package/dist/mcp-loader-BBlqPFQl.js +93 -0
- package/dist/onboard-DRgSPOuY.js +3812 -0
- package/dist/onboard-qPUG8PBU.js +14 -0
- package/dist/orchestrator-BURpEF0U.js +6 -0
- package/dist/orchestrator-CnEDItE1.js +189 -0
- package/dist/osint-BiZZ_d-g.js +283 -0
- package/dist/osint-chat-DaRWDl3X.js +789 -0
- package/dist/run-main.js +87 -72
- package/dist/server-DBXhcGiq.js +4 -0
- package/dist/server-O4Zv8s74.js +1366 -0
- package/dist/skill-runtime-IFk6whV0.js +104 -0
- package/dist/skill-runtime-vylCVHmD.js +5 -0
- package/dist/src-BA04v4CG.js +458 -0
- package/dist/src-BWpeRe8J.js +63 -0
- package/dist/sub-agent-tools-Dzh0nVzy.js +39 -0
- package/package.json +1 -1
- package/static/chat.html +570 -259
package/dist/run-main.js
CHANGED
|
@@ -3,13 +3,13 @@ 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-O4Zv8s74.js');
|
|
7
|
+
const require_daemon = require('./daemon-Bi0rcsh5.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-DRgSPOuY.js');
|
|
11
11
|
require('./theme-CLXvI6Hr.js');
|
|
12
|
-
const require_banner = require('./banner-
|
|
12
|
+
const require_banner = require('./banner-DNSYi9N-.js');
|
|
13
13
|
const require_hub = require('./hub-Bb_dYECE.js');
|
|
14
14
|
const require_update_check = require('./update-check-CApy4DTc.js');
|
|
15
15
|
const require_manager = require('./manager-DYfzqckn.js');
|
|
@@ -2539,31 +2539,31 @@ 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.3").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:
|
|
2546
|
-
init, onboard, quickstart, setup
|
|
2547
|
-
gateway status|start|stop|restart, daemon start|stop|restart|status|logs
|
|
2548
|
-
web — React Web UI (auto npm install + dev server)
|
|
2549
|
-
chat — terminal chat
|
|
2550
|
-
agent -m "message"
|
|
2551
|
-
channels list|add|remove|login|status
|
|
2552
|
-
hooks list|enable|disable|info
|
|
2553
|
-
pairing list|approve, devices list|pair|approve|reject|unpair
|
|
2554
|
-
hub, skill search|list|install
|
|
2555
|
-
memory show|add-rule|add-fact|search|clear|save
|
|
2556
|
-
config show|set-key|schema, secrets audit|set|apply|reload
|
|
2557
|
-
doctor [--fix], health, security audit
|
|
2558
|
-
status, dashboard
|
|
2559
|
-
threads list|terminate, canvas show|add|clear|export
|
|
2560
|
-
mcp list|add|remove|probe, node list|add|probe|remove
|
|
2561
|
-
cron list|add|remove, webhooks list|remove|toggle, logs
|
|
2562
|
-
voice, theme list|set|preview, workspace init|show
|
|
2563
|
-
pc status|enable|disable|log|run
|
|
2564
|
-
bot status|setup|start|stop
|
|
2565
|
-
auth add|remove|oauth|setup-token
|
|
2566
|
-
osint [workflow], deploy, update, message send
|
|
2546
|
+
✓ init, onboard, quickstart, setup
|
|
2547
|
+
✓ gateway status|start|stop|restart, daemon start|stop|restart|status|logs
|
|
2548
|
+
✓ web — 🌐 React Web UI (auto npm install + dev server)
|
|
2549
|
+
✓ chat — 💬 terminal chat
|
|
2550
|
+
✓ agent -m "message"
|
|
2551
|
+
✓ channels list|add|remove|login|status
|
|
2552
|
+
✓ hooks list|enable|disable|info
|
|
2553
|
+
✓ pairing list|approve, devices list|pair|approve|reject|unpair
|
|
2554
|
+
✓ hub, skill search|list|install
|
|
2555
|
+
✓ memory show|add-rule|add-fact|search|clear|save
|
|
2556
|
+
✓ config show|set-key|schema, secrets audit|set|apply|reload
|
|
2557
|
+
✓ doctor [--fix], health, security audit
|
|
2558
|
+
✓ status, dashboard
|
|
2559
|
+
✓ threads list|terminate, canvas show|add|clear|export
|
|
2560
|
+
✓ mcp list|add|remove|probe, node list|add|probe|remove
|
|
2561
|
+
✓ cron list|add|remove, webhooks list|remove|toggle, logs
|
|
2562
|
+
✓ voice, theme list|set|preview, workspace init|show
|
|
2563
|
+
✓ pc status|enable|disable|log|run
|
|
2564
|
+
✓ bot status|setup|start|stop
|
|
2565
|
+
✓ auth add|remove|oauth|setup-token
|
|
2566
|
+
✓ osint [workflow], deploy, update, message send
|
|
2567
2567
|
|
|
2568
2568
|
Examples: hyperclaw onboard | hyperclaw chat | hyperclaw gateway status
|
|
2569
2569
|
Run "hyperclaw" with no args for quick actions, or see READMECOMMAND.md for full list.`).hook("preAction", (thisCommand) => {
|
|
@@ -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-BWpeRe8J.js"));
|
|
2715
2715
|
const allTools = [
|
|
2716
2716
|
...getBuiltinTools(),
|
|
2717
2717
|
...getSessionsTools(() => null),
|
|
@@ -2968,11 +2968,26 @@ program.command("web").description("Launch React Web UI — auto npm install and
|
|
|
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
|
-
|
|
2972
|
-
|
|
2973
|
-
|
|
2974
|
-
|
|
2975
|
-
|
|
2971
|
+
async function findWebDir() {
|
|
2972
|
+
const candidates = [];
|
|
2973
|
+
if (process.env.HYPERCLAW_ROOT) candidates.push(path$5.join(process.env.HYPERCLAW_ROOT, "apps", "web"));
|
|
2974
|
+
candidates.push(path$5.join(process.cwd(), "apps", "web"));
|
|
2975
|
+
let dir = process.cwd();
|
|
2976
|
+
for (let i = 0; i < 6; i++) {
|
|
2977
|
+
const parent = path$5.dirname(dir);
|
|
2978
|
+
if (parent === dir) break;
|
|
2979
|
+
dir = parent;
|
|
2980
|
+
candidates.push(path$5.join(dir, "apps", "web"));
|
|
2981
|
+
}
|
|
2982
|
+
candidates.push(path$5.join(__dirname, "..", "..", "apps", "web"));
|
|
2983
|
+
candidates.push(path$5.join(__dirname, "..", "..", "..", "apps", "web"));
|
|
2984
|
+
for (const candidate of candidates) if (await fs$7.pathExists(path$5.join(candidate, "package.json"))) return candidate;
|
|
2985
|
+
return null;
|
|
2986
|
+
}
|
|
2987
|
+
const webDir = await findWebDir();
|
|
2988
|
+
if (!webDir) {
|
|
2989
|
+
console.log(chalk.default.gray("\n React Web UI not found. Set HYPERCLAW_ROOT to your repo path or run from the repo directory.\n"));
|
|
2990
|
+
console.log(chalk.default.gray(" Example: HYPERCLAW_ROOT=/path/to/hyperclaw hyperclaw web\n"));
|
|
2976
2991
|
process.exit(1);
|
|
2977
2992
|
}
|
|
2978
2993
|
console.log(chalk.default.bold.hex("#06b6d4")("\n 🦅 HyperClaw Web UI\n"));
|
|
@@ -3152,7 +3167,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
|
|
|
3152
3167
|
cfgCmd.command("schema").description("Show configuration schema").action(() => {
|
|
3153
3168
|
console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/hyperclaw.json\n"));
|
|
3154
3169
|
const schema = {
|
|
3155
|
-
version: "string (e.g. \"5.3.
|
|
3170
|
+
version: "string (e.g. \"5.3.3\")",
|
|
3156
3171
|
workspaceName: "string",
|
|
3157
3172
|
provider: {
|
|
3158
3173
|
providerId: "string",
|
|
@@ -3304,10 +3319,10 @@ program.command("status").description("System overview").option("--all", "Full l
|
|
|
3304
3319
|
console.log(t.bold("\n ─── Deep status ───\n"));
|
|
3305
3320
|
try {
|
|
3306
3321
|
const cfg = await fs$7.readJson(configPath);
|
|
3307
|
-
console.log(t.muted(" Config: ") + (cfg ? t.success("loaded") : t.error("missing")));
|
|
3322
|
+
console.log(t.muted(" Config: ") + (cfg ? t.success("✓ loaded") : t.error("✗ missing")));
|
|
3308
3323
|
console.log(t.muted(" Channels: ") + JSON.stringify(cfg?.gateway?.enabledChannels || cfg?.channels || []));
|
|
3309
3324
|
} catch {
|
|
3310
|
-
console.log(t.muted(" Config: ") + t.error("unreadable"));
|
|
3325
|
+
console.log(t.muted(" Config: ") + t.error("✗ unreadable"));
|
|
3311
3326
|
}
|
|
3312
3327
|
if (opts.deep) {
|
|
3313
3328
|
const http$2 = await import("http");
|
|
@@ -3331,20 +3346,20 @@ program.command("status").description("System overview").option("--all", "Full l
|
|
|
3331
3346
|
res.on("end", () => {
|
|
3332
3347
|
try {
|
|
3333
3348
|
const j = JSON.parse(d);
|
|
3334
|
-
console.log(t.muted(" Gateway: ") + t.success("reachable") + ` (sessions: ${j.sessions ?? "-"}, uptime: ${j.uptime ?? "-"})`);
|
|
3349
|
+
console.log(t.muted(" Gateway: ") + t.success("✓ reachable") + ` (sessions: ${j.sessions ?? "-"}, uptime: ${j.uptime ?? "-"})`);
|
|
3335
3350
|
} catch {
|
|
3336
|
-
console.log(t.muted(" Gateway: ") + t.error("unreachable or invalid response"));
|
|
3351
|
+
console.log(t.muted(" Gateway: ") + t.error("✗ unreachable or invalid response"));
|
|
3337
3352
|
}
|
|
3338
3353
|
resolve();
|
|
3339
3354
|
});
|
|
3340
3355
|
});
|
|
3341
3356
|
req.on("error", () => {
|
|
3342
|
-
console.log(t.muted(" Gateway: ") + t.error("unreachable"));
|
|
3357
|
+
console.log(t.muted(" Gateway: ") + t.error("✗ unreachable"));
|
|
3343
3358
|
resolve();
|
|
3344
3359
|
});
|
|
3345
3360
|
req.on("timeout", () => {
|
|
3346
3361
|
req.destroy();
|
|
3347
|
-
console.log(t.muted(" Gateway: ") + t.error("timeout"));
|
|
3362
|
+
console.log(t.muted(" Gateway: ") + t.error("✗ timeout"));
|
|
3348
3363
|
resolve();
|
|
3349
3364
|
});
|
|
3350
3365
|
req.end();
|
|
@@ -3356,20 +3371,20 @@ program.command("status").description("System overview").option("--all", "Full l
|
|
|
3356
3371
|
res.on("end", () => {
|
|
3357
3372
|
try {
|
|
3358
3373
|
const j = JSON.parse(d);
|
|
3359
|
-
console.log(t.muted(" Gateway: ") + t.success("reachable") + ` (sessions: ${j.sessions ?? "-"}, uptime: ${j.uptime ?? "-"})`);
|
|
3374
|
+
console.log(t.muted(" Gateway: ") + t.success("✓ reachable") + ` (sessions: ${j.sessions ?? "-"}, uptime: ${j.uptime ?? "-"})`);
|
|
3360
3375
|
} catch {
|
|
3361
|
-
console.log(t.muted(" Gateway: ") + t.error("unreachable or invalid response"));
|
|
3376
|
+
console.log(t.muted(" Gateway: ") + t.error("✗ unreachable or invalid response"));
|
|
3362
3377
|
}
|
|
3363
3378
|
resolve();
|
|
3364
3379
|
});
|
|
3365
3380
|
});
|
|
3366
3381
|
req.on("error", () => {
|
|
3367
|
-
console.log(t.muted(" Gateway: ") + t.error("unreachable"));
|
|
3382
|
+
console.log(t.muted(" Gateway: ") + t.error("✗ unreachable"));
|
|
3368
3383
|
resolve();
|
|
3369
3384
|
});
|
|
3370
3385
|
req.on("timeout", () => {
|
|
3371
3386
|
req.destroy();
|
|
3372
|
-
console.log(t.muted(" Gateway: ") + t.error("timeout"));
|
|
3387
|
+
console.log(t.muted(" Gateway: ") + t.error("✗ timeout"));
|
|
3373
3388
|
resolve();
|
|
3374
3389
|
});
|
|
3375
3390
|
req.end();
|
|
@@ -3472,20 +3487,20 @@ securityCmd.command("audit").description("Security audit — file permissions, D
|
|
|
3472
3487
|
process.exit(0);
|
|
3473
3488
|
});
|
|
3474
3489
|
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) => {
|
|
3475
|
-
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-
|
|
3490
|
+
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-BiZZ_d-g.js"));
|
|
3476
3491
|
if (opts.show || opts.reset) await osintSetup({
|
|
3477
3492
|
show: opts.show,
|
|
3478
3493
|
reset: opts.reset
|
|
3479
3494
|
});
|
|
3480
3495
|
else if (workflow === "chat") {
|
|
3481
|
-
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-
|
|
3496
|
+
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-DaRWDl3X.js"));
|
|
3482
3497
|
await runOsintChat({ model: opts.model });
|
|
3483
3498
|
} else if (workflow === "setup" || workflow) await osintSetup({ mode: workflow });
|
|
3484
3499
|
else await osintQuickStart();
|
|
3485
3500
|
process.exit(0);
|
|
3486
3501
|
});
|
|
3487
3502
|
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) => {
|
|
3488
|
-
const { runChat } = await Promise.resolve().then(() => require("./chat-
|
|
3503
|
+
const { runChat } = await Promise.resolve().then(() => require("./chat-CKLXvJjd.js"));
|
|
3489
3504
|
const cfg = await new require_manager.ConfigManager().load().catch(() => null);
|
|
3490
3505
|
const port = cfg?.gateway?.port ?? 18789;
|
|
3491
3506
|
const gm = new GatewayManager$1();
|
|
@@ -3500,7 +3515,7 @@ program.command("chat").description("Interactive terminal chat with the agent").
|
|
|
3500
3515
|
});
|
|
3501
3516
|
const agentRunCmd = program.command("agent").description("Run agent with thinking control");
|
|
3502
3517
|
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) => {
|
|
3503
|
-
const { runAgent } = await Promise.resolve().then(() => require("./src-
|
|
3518
|
+
const { runAgent } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
3504
3519
|
await runAgent({
|
|
3505
3520
|
message: opts.message,
|
|
3506
3521
|
thinking: opts.thinking,
|
|
@@ -3516,7 +3531,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
|
|
|
3516
3531
|
});
|
|
3517
3532
|
const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
|
|
3518
3533
|
threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
|
|
3519
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3534
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
3520
3535
|
const mgr = new ACPThreadManager();
|
|
3521
3536
|
const threads = await mgr.list({
|
|
3522
3537
|
channelId: opts.channel,
|
|
@@ -3526,7 +3541,7 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
|
|
|
3526
3541
|
process.exit(0);
|
|
3527
3542
|
});
|
|
3528
3543
|
threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
|
|
3529
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3544
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
3530
3545
|
await new ACPThreadManager().terminate(id);
|
|
3531
3546
|
console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
|
|
3532
3547
|
process.exit(0);
|
|
@@ -3774,7 +3789,7 @@ logsCmd.action(async (opts) => {
|
|
|
3774
3789
|
}
|
|
3775
3790
|
});
|
|
3776
3791
|
program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
|
|
3777
|
-
const { startGateway } = await Promise.resolve().then(() => require("./server-
|
|
3792
|
+
const { startGateway } = await Promise.resolve().then(() => require("./server-DBXhcGiq.js"));
|
|
3778
3793
|
await startGateway();
|
|
3779
3794
|
process.on("SIGINT", () => process.exit(0));
|
|
3780
3795
|
process.on("SIGTERM", () => process.exit(0));
|
|
@@ -4027,13 +4042,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
|
|
|
4027
4042
|
});
|
|
4028
4043
|
const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
|
|
4029
4044
|
botCmd.command("status").action(async () => {
|
|
4030
|
-
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4045
|
+
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-DC3jGsoA.js"));
|
|
4031
4046
|
await showBotStatus();
|
|
4032
4047
|
process.exit(0);
|
|
4033
4048
|
});
|
|
4034
4049
|
botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
|
|
4035
4050
|
const inquirer$2 = require("inquirer");
|
|
4036
|
-
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4051
|
+
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-DC3jGsoA.js"));
|
|
4037
4052
|
const chalk$11 = require("chalk");
|
|
4038
4053
|
console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
|
|
4039
4054
|
console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
|
|
@@ -4095,14 +4110,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4095
4110
|
cwd: process.cwd()
|
|
4096
4111
|
});
|
|
4097
4112
|
child.unref();
|
|
4098
|
-
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4113
|
+
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-DC3jGsoA.js"));
|
|
4099
4114
|
await writeBotPid(child.pid);
|
|
4100
4115
|
console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
|
|
4101
4116
|
console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
|
|
4102
4117
|
process.exit(0);
|
|
4103
4118
|
return;
|
|
4104
4119
|
}
|
|
4105
|
-
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4120
|
+
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-DC3jGsoA.js"));
|
|
4106
4121
|
const cfg = await loadBotConfig();
|
|
4107
4122
|
if (!cfg) {
|
|
4108
4123
|
console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
|
|
@@ -4129,41 +4144,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4129
4144
|
});
|
|
4130
4145
|
botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
|
|
4131
4146
|
const chalk$11 = require("chalk");
|
|
4132
|
-
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4147
|
+
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-DC3jGsoA.js"));
|
|
4133
4148
|
const stopped = await stopBotProcess();
|
|
4134
4149
|
if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
|
|
4135
4150
|
else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
|
|
4136
4151
|
process.exit(stopped ? 0 : 1);
|
|
4137
4152
|
});
|
|
4138
4153
|
memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
|
|
4139
|
-
const { searchMemory } = await Promise.resolve().then(() => require("./src-
|
|
4154
|
+
const { searchMemory } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4140
4155
|
await searchMemory(query);
|
|
4141
4156
|
process.exit(0);
|
|
4142
4157
|
});
|
|
4143
4158
|
memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
|
|
4144
|
-
const { showMemory } = await Promise.resolve().then(() => require("./src-
|
|
4159
|
+
const { showMemory } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4145
4160
|
await showMemory();
|
|
4146
4161
|
process.exit(0);
|
|
4147
4162
|
});
|
|
4148
4163
|
memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
|
|
4149
|
-
const { clearMemory } = await Promise.resolve().then(() => require("./src-
|
|
4164
|
+
const { clearMemory } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4150
4165
|
await clearMemory();
|
|
4151
4166
|
process.exit(0);
|
|
4152
4167
|
});
|
|
4153
4168
|
memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
|
|
4154
|
-
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-
|
|
4169
|
+
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4155
4170
|
await saveMemoryDirect(text);
|
|
4156
4171
|
console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
|
|
4157
4172
|
process.exit(0);
|
|
4158
4173
|
});
|
|
4159
4174
|
const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
|
|
4160
4175
|
pcCmd.command("status").description("Show PC access status and config").action(async () => {
|
|
4161
|
-
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-
|
|
4176
|
+
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4162
4177
|
await showPCAccessStatus();
|
|
4163
4178
|
process.exit(0);
|
|
4164
4179
|
});
|
|
4165
4180
|
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) => {
|
|
4166
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4181
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4167
4182
|
const level = opts.level;
|
|
4168
4183
|
const allowed = [
|
|
4169
4184
|
"read-only",
|
|
@@ -4190,7 +4205,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
|
|
|
4190
4205
|
process.exit(0);
|
|
4191
4206
|
});
|
|
4192
4207
|
pcCmd.command("disable").description("Disable PC access").action(async () => {
|
|
4193
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4208
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4194
4209
|
await savePCAccessConfig({ enabled: false });
|
|
4195
4210
|
console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
|
|
4196
4211
|
process.exit(0);
|
|
@@ -4215,7 +4230,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
|
|
|
4215
4230
|
process.exit(0);
|
|
4216
4231
|
});
|
|
4217
4232
|
pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
|
|
4218
|
-
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-
|
|
4233
|
+
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-BWpeRe8J.js"));
|
|
4219
4234
|
const cfg = await loadPCAccessConfig();
|
|
4220
4235
|
if (!cfg.enabled) {
|
|
4221
4236
|
console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
|
|
@@ -4264,17 +4279,17 @@ if (process.argv.length === 2) (async () => {
|
|
|
4264
4279
|
const t = getTheme(false);
|
|
4265
4280
|
const chalk$11 = require("chalk");
|
|
4266
4281
|
console.log(t.bold(" Quick actions:\n"));
|
|
4267
|
-
console.log(` ${t.c("hyperclaw web")} — React Web UI (auto install + start)`);
|
|
4268
|
-
console.log(` ${t.c("hyperclaw chat")} — terminal chat`);
|
|
4269
|
-
console.log(` ${t.c("hyperclaw onboard")} — re-run setup wizard`);
|
|
4270
|
-
console.log(` ${t.c("hyperclaw daemon start")} — start background service`);
|
|
4271
|
-
console.log(` ${t.c("hyperclaw daemon status")} — service status`);
|
|
4272
|
-
console.log(` ${t.c("hyperclaw status")} — system overview`);
|
|
4273
|
-
console.log(` ${t.c("hyperclaw doctor")} — health check & fix issues`);
|
|
4274
|
-
console.log(` ${t.c("hyperclaw --help")} — all commands\n`);
|
|
4282
|
+
console.log(` ✓ ${t.c("hyperclaw web")} — 🌐 React Web UI (auto install + start)`);
|
|
4283
|
+
console.log(` ✓ ${t.c("hyperclaw chat")} — 💬 terminal chat`);
|
|
4284
|
+
console.log(` ✓ ${t.c("hyperclaw onboard")} — ⚙️ re-run setup wizard`);
|
|
4285
|
+
console.log(` ✓ ${t.c("hyperclaw daemon start")} — 🚀 start background service`);
|
|
4286
|
+
console.log(` ✓ ${t.c("hyperclaw daemon status")} — 📊 service status`);
|
|
4287
|
+
console.log(` ✓ ${t.c("hyperclaw status")} — 📋 system overview`);
|
|
4288
|
+
console.log(` ✓ ${t.c("hyperclaw doctor")} — 🔧 health check & fix issues`);
|
|
4289
|
+
console.log(` ✓ ${t.c("hyperclaw --help")} — 📖 all commands\n`);
|
|
4275
4290
|
} else {
|
|
4276
4291
|
await new require_banner.Banner().showNeonBanner(false);
|
|
4277
|
-
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-
|
|
4292
|
+
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-qPUG8PBU.js"));
|
|
4278
4293
|
await new HyperClawWizard$1().run({ wizard: true });
|
|
4279
4294
|
}
|
|
4280
4295
|
await runUpdateCheck();
|