hyperclaw 5.3.0 → 5.3.2
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 +2 -0
- package/dist/banner-7G-bEcQg.js +143 -0
- package/dist/banner-B8OcbGCR.js +143 -0
- package/dist/banner-BIOxqoND.js +7 -0
- package/dist/banner-DXWl0t8M.js +7 -0
- package/dist/chat-2cf--psT.js +545 -0
- package/dist/chat-CvZyAfqV.js +545 -0
- package/dist/daemon-CckV-o_V.js +421 -0
- package/dist/daemon-DL5zfvZd.js +7 -0
- package/dist/daemon-DkK4j69t.js +421 -0
- package/dist/daemon-OqS7Ohda.js +7 -0
- package/dist/engine-BUqmNzOL.js +7 -0
- package/dist/engine-Co38wljj.js +327 -0
- package/dist/engine-EA8vevRJ.js +327 -0
- package/dist/engine-SjHViH0c.js +7 -0
- package/dist/hyperclawbot-CyIGak-G.js +516 -0
- package/dist/hyperclawbot-ukhzbWGk.js +516 -0
- package/dist/mcp-loader-DyklUhL2.js +93 -0
- package/dist/mcp-loader-u-tt6BEx.js +93 -0
- package/dist/onboard-BriaGw6G.js +3812 -0
- package/dist/onboard-Bu3xDVur.js +14 -0
- package/dist/onboard-D6afaGWd.js +3812 -0
- package/dist/onboard-gr80CpYU.js +14 -0
- package/dist/orchestrator-BwBZ5iON.js +189 -0
- package/dist/orchestrator-C0_UaVsn.js +6 -0
- package/dist/orchestrator-CjZos0wH.js +6 -0
- package/dist/orchestrator-CqXGMcxd.js +189 -0
- package/dist/osint-B6mHZP10.js +283 -0
- package/dist/osint-BC5eNzVi.js +283 -0
- package/dist/osint-chat-DPHec6BB.js +789 -0
- package/dist/osint-chat-myilxKVw.js +789 -0
- package/dist/run-main.js +99 -31
- package/dist/server-B5wYaa-U.js +4 -0
- package/dist/server-CrZ_WVSf.js +1365 -0
- package/dist/server-viuRgDlF.js +1365 -0
- package/dist/server-zXVY2lfd.js +4 -0
- package/dist/skill-runtime-B7U9JxNS.js +5 -0
- package/dist/skill-runtime-CxDPbEuj.js +104 -0
- package/dist/skill-runtime-DXEKaHRd.js +5 -0
- package/dist/skill-runtime-DXKqnJos.js +104 -0
- package/dist/src-CSriPfaE.js +63 -0
- package/dist/src-CYUaLsXl.js +458 -0
- package/dist/src-Czb6-Nkc.js +458 -0
- package/dist/src-DSZTfNdO.js +63 -0
- package/dist/sub-agent-tools-CFlCWrhp.js +39 -0
- package/dist/sub-agent-tools-zyfsZ8k0.js +39 -0
- package/dist/update-check-CApy4DTc.js +117 -0
- package/dist/update-check-CCMXnjxr.js +7 -0
- package/package.json +1 -1
- package/static/chat.html +112 -5
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-viuRgDlF.js');
|
|
7
|
+
const require_daemon = require('./daemon-DkK4j69t.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-BriaGw6G.js');
|
|
11
11
|
require('./theme-CLXvI6Hr.js');
|
|
12
|
-
const require_banner = require('./banner-
|
|
12
|
+
const require_banner = require('./banner-B8OcbGCR.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-CApy4DTc.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,34 @@ 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.2").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
|
+
Full commands reference: READMECOMMAND.md (all commands and options)
|
|
2544
|
+
|
|
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
|
|
2567
|
+
|
|
2568
|
+
Examples: hyperclaw onboard | hyperclaw chat | hyperclaw gateway status
|
|
2569
|
+
Run "hyperclaw" with no args for quick actions, or see READMECOMMAND.md for full list.`).hook("preAction", (thisCommand) => {
|
|
2543
2570
|
const profile = thisCommand.opts().profile;
|
|
2544
2571
|
if (profile) {
|
|
2545
2572
|
const os$2 = require("os");
|
|
@@ -2684,7 +2711,7 @@ sandboxCmd.command("explain").description("Show effective sandbox mode, tool pol
|
|
|
2684
2711
|
const sandboxMode = cfg?.agents?.defaults?.sandbox?.mode ?? "non-main";
|
|
2685
2712
|
const toolsCfg = cfg?.tools ?? {};
|
|
2686
2713
|
const { describeToolPolicy, applyToolPolicy } = await Promise.resolve().then(() => require("./tool-policy-QXF3MMxu.js"));
|
|
2687
|
-
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-DSZTfNdO.js"));
|
|
2688
2715
|
const allTools = [
|
|
2689
2716
|
...getBuiltinTools(),
|
|
2690
2717
|
...getSessionsTools(() => null),
|
|
@@ -2937,6 +2964,46 @@ program.command("update").description("Update HyperClaw").option("-c, --channel
|
|
|
2937
2964
|
await performUpdate(effective.channel, installKind);
|
|
2938
2965
|
process.exit(0);
|
|
2939
2966
|
});
|
|
2967
|
+
program.command("web").description("Launch React Web UI — auto npm install and npm run dev").option("--skip-install", "Skip npm install (use if deps already installed)").option("--port <port>", "Vite dev server port", "5173").action(async (opts) => {
|
|
2968
|
+
const path$5 = await import("path");
|
|
2969
|
+
const fs$7 = await import("fs-extra");
|
|
2970
|
+
const { spawn: spawn$1 } = await import("child_process");
|
|
2971
|
+
const root = path$5.join(process.cwd(), "apps", "web");
|
|
2972
|
+
const altRoot = path$5.join(__dirname, "..", "..", "apps", "web");
|
|
2973
|
+
const webDir = await fs$7.pathExists(root) ? root : await fs$7.pathExists(altRoot) ? altRoot : null;
|
|
2974
|
+
if (!webDir || !await fs$7.pathExists(path$5.join(webDir, "package.json"))) {
|
|
2975
|
+
console.log(chalk.default.gray("\n React Web UI not found. Run from HyperClaw repo root.\n"));
|
|
2976
|
+
process.exit(1);
|
|
2977
|
+
}
|
|
2978
|
+
console.log(chalk.default.bold.hex("#06b6d4")("\n 🦅 HyperClaw Web UI\n"));
|
|
2979
|
+
if (!opts.skipInstall) {
|
|
2980
|
+
console.log(chalk.default.gray(" Installing dependencies...\n"));
|
|
2981
|
+
await new Promise((resolve, reject) => {
|
|
2982
|
+
const child$1 = spawn$1("npm", ["install"], {
|
|
2983
|
+
cwd: webDir,
|
|
2984
|
+
stdio: "inherit",
|
|
2985
|
+
shell: true
|
|
2986
|
+
});
|
|
2987
|
+
child$1.on("error", reject);
|
|
2988
|
+
child$1.on("exit", (code) => code === 0 ? resolve() : reject(new Error("npm install failed")));
|
|
2989
|
+
});
|
|
2990
|
+
}
|
|
2991
|
+
const port = opts.port || "5173";
|
|
2992
|
+
console.log(chalk.default.gray(` Starting dev server at http://localhost:${port}\n`));
|
|
2993
|
+
const child = spawn$1("npm", [
|
|
2994
|
+
"run",
|
|
2995
|
+
"dev",
|
|
2996
|
+
"--",
|
|
2997
|
+
"--port",
|
|
2998
|
+
port
|
|
2999
|
+
], {
|
|
3000
|
+
cwd: webDir,
|
|
3001
|
+
stdio: "inherit",
|
|
3002
|
+
shell: true
|
|
3003
|
+
});
|
|
3004
|
+
child.on("error", () => {});
|
|
3005
|
+
child.on("exit", (code) => process.exit(code ?? 0));
|
|
3006
|
+
});
|
|
2940
3007
|
program.command("doctor").description("Health check — surfaces misconfigs, risky DM policies, and repairs").option("--fix", "Auto-repair fixable issues").option("--repair", "Apply recommended repairs (same as --fix)").option("--force", "Apply aggressive repairs (use with --repair)").option("-y, --yes", "Accept defaults without prompting").option("--non-interactive", "Skip prompts; only run safe migrations").option("--deep", "Scan system services for extra gateway installs").action(async (opts) => {
|
|
2941
3008
|
await require_doctor.runDoctor(opts.fix || opts.repair, {
|
|
2942
3009
|
fix: opts.fix,
|
|
@@ -3085,7 +3152,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
|
|
|
3085
3152
|
cfgCmd.command("schema").description("Show configuration schema").action(() => {
|
|
3086
3153
|
console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/hyperclaw.json\n"));
|
|
3087
3154
|
const schema = {
|
|
3088
|
-
version: "string (e.g. \"5.3.
|
|
3155
|
+
version: "string (e.g. \"5.3.2\")",
|
|
3089
3156
|
workspaceName: "string",
|
|
3090
3157
|
provider: {
|
|
3091
3158
|
providerId: "string",
|
|
@@ -3405,20 +3472,20 @@ securityCmd.command("audit").description("Security audit — file permissions, D
|
|
|
3405
3472
|
process.exit(0);
|
|
3406
3473
|
});
|
|
3407
3474
|
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) => {
|
|
3408
|
-
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-
|
|
3475
|
+
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-BC5eNzVi.js"));
|
|
3409
3476
|
if (opts.show || opts.reset) await osintSetup({
|
|
3410
3477
|
show: opts.show,
|
|
3411
3478
|
reset: opts.reset
|
|
3412
3479
|
});
|
|
3413
3480
|
else if (workflow === "chat") {
|
|
3414
|
-
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-
|
|
3481
|
+
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-myilxKVw.js"));
|
|
3415
3482
|
await runOsintChat({ model: opts.model });
|
|
3416
3483
|
} else if (workflow === "setup" || workflow) await osintSetup({ mode: workflow });
|
|
3417
3484
|
else await osintQuickStart();
|
|
3418
3485
|
process.exit(0);
|
|
3419
3486
|
});
|
|
3420
3487
|
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) => {
|
|
3421
|
-
const { runChat } = await Promise.resolve().then(() => require("./chat-
|
|
3488
|
+
const { runChat } = await Promise.resolve().then(() => require("./chat-CvZyAfqV.js"));
|
|
3422
3489
|
const cfg = await new require_manager.ConfigManager().load().catch(() => null);
|
|
3423
3490
|
const port = cfg?.gateway?.port ?? 18789;
|
|
3424
3491
|
const gm = new GatewayManager$1();
|
|
@@ -3433,7 +3500,7 @@ program.command("chat").description("Interactive terminal chat with the agent").
|
|
|
3433
3500
|
});
|
|
3434
3501
|
const agentRunCmd = program.command("agent").description("Run agent with thinking control");
|
|
3435
3502
|
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) => {
|
|
3436
|
-
const { runAgent } = await Promise.resolve().then(() => require("./src-
|
|
3503
|
+
const { runAgent } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
3437
3504
|
await runAgent({
|
|
3438
3505
|
message: opts.message,
|
|
3439
3506
|
thinking: opts.thinking,
|
|
@@ -3449,7 +3516,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
|
|
|
3449
3516
|
});
|
|
3450
3517
|
const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
|
|
3451
3518
|
threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
|
|
3452
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3519
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
3453
3520
|
const mgr = new ACPThreadManager();
|
|
3454
3521
|
const threads = await mgr.list({
|
|
3455
3522
|
channelId: opts.channel,
|
|
@@ -3459,7 +3526,7 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
|
|
|
3459
3526
|
process.exit(0);
|
|
3460
3527
|
});
|
|
3461
3528
|
threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
|
|
3462
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3529
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
3463
3530
|
await new ACPThreadManager().terminate(id);
|
|
3464
3531
|
console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
|
|
3465
3532
|
process.exit(0);
|
|
@@ -3707,7 +3774,7 @@ logsCmd.action(async (opts) => {
|
|
|
3707
3774
|
}
|
|
3708
3775
|
});
|
|
3709
3776
|
program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
|
|
3710
|
-
const { startGateway } = await Promise.resolve().then(() => require("./server-
|
|
3777
|
+
const { startGateway } = await Promise.resolve().then(() => require("./server-B5wYaa-U.js"));
|
|
3711
3778
|
await startGateway();
|
|
3712
3779
|
process.on("SIGINT", () => process.exit(0));
|
|
3713
3780
|
process.on("SIGTERM", () => process.exit(0));
|
|
@@ -3960,13 +4027,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
|
|
|
3960
4027
|
});
|
|
3961
4028
|
const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
|
|
3962
4029
|
botCmd.command("status").action(async () => {
|
|
3963
|
-
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4030
|
+
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-CyIGak-G.js"));
|
|
3964
4031
|
await showBotStatus();
|
|
3965
4032
|
process.exit(0);
|
|
3966
4033
|
});
|
|
3967
4034
|
botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
|
|
3968
4035
|
const inquirer$2 = require("inquirer");
|
|
3969
|
-
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4036
|
+
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-CyIGak-G.js"));
|
|
3970
4037
|
const chalk$11 = require("chalk");
|
|
3971
4038
|
console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
|
|
3972
4039
|
console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
|
|
@@ -4028,14 +4095,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4028
4095
|
cwd: process.cwd()
|
|
4029
4096
|
});
|
|
4030
4097
|
child.unref();
|
|
4031
|
-
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4098
|
+
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-CyIGak-G.js"));
|
|
4032
4099
|
await writeBotPid(child.pid);
|
|
4033
4100
|
console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
|
|
4034
4101
|
console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
|
|
4035
4102
|
process.exit(0);
|
|
4036
4103
|
return;
|
|
4037
4104
|
}
|
|
4038
|
-
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4105
|
+
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-CyIGak-G.js"));
|
|
4039
4106
|
const cfg = await loadBotConfig();
|
|
4040
4107
|
if (!cfg) {
|
|
4041
4108
|
console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
|
|
@@ -4062,41 +4129,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4062
4129
|
});
|
|
4063
4130
|
botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
|
|
4064
4131
|
const chalk$11 = require("chalk");
|
|
4065
|
-
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4132
|
+
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-CyIGak-G.js"));
|
|
4066
4133
|
const stopped = await stopBotProcess();
|
|
4067
4134
|
if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
|
|
4068
4135
|
else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
|
|
4069
4136
|
process.exit(stopped ? 0 : 1);
|
|
4070
4137
|
});
|
|
4071
4138
|
memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
|
|
4072
|
-
const { searchMemory } = await Promise.resolve().then(() => require("./src-
|
|
4139
|
+
const { searchMemory } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4073
4140
|
await searchMemory(query);
|
|
4074
4141
|
process.exit(0);
|
|
4075
4142
|
});
|
|
4076
4143
|
memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
|
|
4077
|
-
const { showMemory } = await Promise.resolve().then(() => require("./src-
|
|
4144
|
+
const { showMemory } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4078
4145
|
await showMemory();
|
|
4079
4146
|
process.exit(0);
|
|
4080
4147
|
});
|
|
4081
4148
|
memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
|
|
4082
|
-
const { clearMemory } = await Promise.resolve().then(() => require("./src-
|
|
4149
|
+
const { clearMemory } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4083
4150
|
await clearMemory();
|
|
4084
4151
|
process.exit(0);
|
|
4085
4152
|
});
|
|
4086
4153
|
memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
|
|
4087
|
-
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-
|
|
4154
|
+
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4088
4155
|
await saveMemoryDirect(text);
|
|
4089
4156
|
console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
|
|
4090
4157
|
process.exit(0);
|
|
4091
4158
|
});
|
|
4092
4159
|
const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
|
|
4093
4160
|
pcCmd.command("status").description("Show PC access status and config").action(async () => {
|
|
4094
|
-
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-
|
|
4161
|
+
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4095
4162
|
await showPCAccessStatus();
|
|
4096
4163
|
process.exit(0);
|
|
4097
4164
|
});
|
|
4098
4165
|
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) => {
|
|
4099
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4166
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4100
4167
|
const level = opts.level;
|
|
4101
4168
|
const allowed = [
|
|
4102
4169
|
"read-only",
|
|
@@ -4123,7 +4190,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
|
|
|
4123
4190
|
process.exit(0);
|
|
4124
4191
|
});
|
|
4125
4192
|
pcCmd.command("disable").description("Disable PC access").action(async () => {
|
|
4126
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4193
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4127
4194
|
await savePCAccessConfig({ enabled: false });
|
|
4128
4195
|
console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
|
|
4129
4196
|
process.exit(0);
|
|
@@ -4148,7 +4215,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
|
|
|
4148
4215
|
process.exit(0);
|
|
4149
4216
|
});
|
|
4150
4217
|
pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
|
|
4151
|
-
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-
|
|
4218
|
+
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-DSZTfNdO.js"));
|
|
4152
4219
|
const cfg = await loadPCAccessConfig();
|
|
4153
4220
|
if (!cfg.enabled) {
|
|
4154
4221
|
console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
|
|
@@ -4179,7 +4246,7 @@ program.command("setup").description("Setup wizard — alias for `hyperclaw onbo
|
|
|
4179
4246
|
});
|
|
4180
4247
|
async function runUpdateCheck() {
|
|
4181
4248
|
try {
|
|
4182
|
-
const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-
|
|
4249
|
+
const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-CCMXnjxr.js"));
|
|
4183
4250
|
const path$5 = require("path");
|
|
4184
4251
|
const { readFileSync } = require("fs");
|
|
4185
4252
|
const pkgPath = path$5.resolve(__dirname, "../package.json");
|
|
@@ -4197,7 +4264,8 @@ if (process.argv.length === 2) (async () => {
|
|
|
4197
4264
|
const t = getTheme(false);
|
|
4198
4265
|
const chalk$11 = require("chalk");
|
|
4199
4266
|
console.log(t.bold(" Quick actions:\n"));
|
|
4200
|
-
console.log(` ${t.c("hyperclaw
|
|
4267
|
+
console.log(` ${t.c("hyperclaw web")} — React Web UI (auto install + start)`);
|
|
4268
|
+
console.log(` ${t.c("hyperclaw chat")} — terminal chat`);
|
|
4201
4269
|
console.log(` ${t.c("hyperclaw onboard")} — re-run setup wizard`);
|
|
4202
4270
|
console.log(` ${t.c("hyperclaw daemon start")} — start background service`);
|
|
4203
4271
|
console.log(` ${t.c("hyperclaw daemon status")} — service status`);
|
|
@@ -4206,7 +4274,7 @@ if (process.argv.length === 2) (async () => {
|
|
|
4206
4274
|
console.log(` ${t.c("hyperclaw --help")} — all commands\n`);
|
|
4207
4275
|
} else {
|
|
4208
4276
|
await new require_banner.Banner().showNeonBanner(false);
|
|
4209
|
-
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-
|
|
4277
|
+
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-Bu3xDVur.js"));
|
|
4210
4278
|
await new HyperClawWizard$1().run({ wizard: true });
|
|
4211
4279
|
}
|
|
4212
4280
|
await runUpdateCheck();
|