hyperclaw 5.2.5 → 5.2.6
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/audit-NPINyRh4.js +445 -0
- package/dist/chat-8E4H6nqx.js +325 -0
- package/dist/connector-1_9a4Mhv.js +276 -0
- package/dist/connector-BeHsEhpz.js +164 -0
- package/dist/connector-DJ63fLj9.js +555 -0
- package/dist/connector-Ic8H84de.js +204 -0
- package/dist/daemon-DRhU750_.js +7 -0
- package/dist/daemon-bJ8IYnkd.js +421 -0
- package/dist/delivery-1vTBQ0a0.js +95 -0
- package/dist/delivery-BbOfKejh.js +4 -0
- package/dist/engine-BjzV25HS.js +7 -0
- package/dist/engine-DJSr69DF.js +327 -0
- package/dist/heartbeat-engine-0swQl6wg.js +89 -0
- package/dist/hub-BuUwiTxh.js +6 -0
- package/dist/hub-DIoASRn6.js +512 -0
- package/dist/hyperclawbot-CIvGq2IG.js +516 -0
- package/dist/inference-BSWFHqzs.js +2854 -0
- package/dist/inference-DQiqWbqu.js +8 -0
- package/dist/loader-Bpju2Xqs.js +6 -0
- package/dist/loader-DRfmh8hU.js +410 -0
- package/dist/logger-CnxILOPV.js +86 -0
- package/dist/mcp-loader-D-uIqYwB.js +93 -0
- package/dist/memory-auto-CK5M1YV8.js +5 -0
- package/dist/memory-auto-Cs6XiIxb.js +306 -0
- package/dist/node-4_wJsNEN.js +226 -0
- package/dist/oauth-flow-CJ7dFXKT.js +148 -0
- package/dist/onboard-C1RArB82.js +3865 -0
- package/dist/onboard-CQkUrkNk.js +13 -0
- package/dist/orchestrator-D9R2u9yL.js +6 -0
- package/dist/orchestrator-DMDgfB8j.js +189 -0
- package/dist/pairing-CNNtZ8JR.js +6 -0
- package/dist/pairing-fGaxBlgG.js +207 -0
- package/dist/pc-access-CaE4x3Vt.js +8 -0
- package/dist/pc-access-OIwXRyAD.js +858 -0
- package/dist/run-main.js +50 -44
- package/dist/runner-CFvEFt23.js +1274 -0
- package/dist/server-BSCeWSlZ.js +1304 -0
- package/dist/server-DIwR4tT3.js +4 -0
- package/dist/skill-runtime-CCwGR7iX.js +5 -0
- package/dist/skill-runtime-vmBIhuVk.js +104 -0
- package/dist/src-3dXyf5GQ.js +458 -0
- package/dist/src-BVeLalMV.js +63 -0
- package/dist/sub-agent-tools-C1dWyUAR.js +39 -0
- package/dist/tts-elevenlabs-F_xjKQ-I.js +64 -0
- package/dist/vision-BR5Gdb2s.js +169 -0
- package/dist/vision-tools-DuB1QtlE.js +51 -0
- package/dist/vision-tools-LvL8RMWR.js +5 -0
- package/dist/voice-transcription-D6dK7b9A.js +171 -0
- package/dist/website-watch-tools-Cqp7RPvn.js +176 -0
- package/dist/website-watch-tools-UPSrnBk2.js +5 -0
- package/package.json +1 -1
package/dist/run-main.js
CHANGED
|
@@ -3,19 +3,19 @@ const require_paths = require('./paths-AIyBxIzm.js');
|
|
|
3
3
|
const require_paths$1 = require('./paths-DPovhojT.js');
|
|
4
4
|
require('./env-resolve-DS92g2fk.js');
|
|
5
5
|
const require_config = require('./config-Br73VMLb.js');
|
|
6
|
-
require('./server-
|
|
7
|
-
const require_daemon = require('./daemon-
|
|
6
|
+
require('./server-BSCeWSlZ.js');
|
|
7
|
+
const require_daemon = require('./daemon-bJ8IYnkd.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-C1RArB82.js');
|
|
11
11
|
require('./theme-CLXvI6Hr.js');
|
|
12
|
-
const require_hub = require('./hub-
|
|
12
|
+
const require_hub = require('./hub-DIoASRn6.js');
|
|
13
13
|
const require_update_check = require('./update-check-BeAPt4-f.js');
|
|
14
14
|
const require_manager = require('./manager-Jd0qSzVe.js');
|
|
15
15
|
const require_memory = require('./memory-D-Py-cz5.js');
|
|
16
|
-
const require_loader = require('./loader-
|
|
16
|
+
const require_loader = require('./loader-DRfmh8hU.js');
|
|
17
17
|
const require_agents_routing = require('./agents-routing-Bz3SstlK.js');
|
|
18
|
-
const require_pairing = require('./pairing-
|
|
18
|
+
const require_pairing = require('./pairing-fGaxBlgG.js');
|
|
19
19
|
const require_doctor = require('./doctor-BcfmNAGV.js');
|
|
20
20
|
const require_health = require('./health-CBy1PfzC.js');
|
|
21
21
|
const require_security = require('./security-BhhX8wJx.js');
|
|
@@ -400,8 +400,10 @@ var GatewayManager$1 = class {
|
|
|
400
400
|
async applyTailscaleExposure(exposure, port) {
|
|
401
401
|
if (exposure === "off") return;
|
|
402
402
|
try {
|
|
403
|
-
|
|
404
|
-
|
|
403
|
+
const safePort = Math.trunc(Number(port));
|
|
404
|
+
if (!Number.isInteger(safePort) || safePort < 1 || safePort > 65535) throw new Error(`Invalid port: ${port}`);
|
|
405
|
+
if (exposure === "serve") await execAsync$1(`tailscale serve ${safePort}`);
|
|
406
|
+
else if (exposure === "funnel") await execAsync$1(`tailscale funnel ${safePort}`);
|
|
405
407
|
} catch {
|
|
406
408
|
console.log(chalk.default.yellow("⚠️ Tailscale exposure failed — check tailscale is running"));
|
|
407
409
|
}
|
|
@@ -2532,8 +2534,11 @@ process.on("uncaughtException", (err) => {
|
|
|
2532
2534
|
console.error("[hyperclaw] Uncaught exception:", err?.message ?? String(err));
|
|
2533
2535
|
process.exit(1);
|
|
2534
2536
|
});
|
|
2537
|
+
function sanitizeForLog(value) {
|
|
2538
|
+
return String(value ?? "").replace(/[\r\n\t]+/g, " ").replace(/[^\x20-\x7e]+/g, "?").slice(0, 200);
|
|
2539
|
+
}
|
|
2535
2540
|
const program = new commander.Command();
|
|
2536
|
-
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.2.
|
|
2541
|
+
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.2.6").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").hook("preAction", (thisCommand) => {
|
|
2537
2542
|
const profile = thisCommand.opts().profile;
|
|
2538
2543
|
if (profile) {
|
|
2539
2544
|
const os$2 = require("os");
|
|
@@ -2678,7 +2683,7 @@ sandboxCmd.command("explain").description("Show effective sandbox mode, tool pol
|
|
|
2678
2683
|
const sandboxMode = cfg?.agents?.defaults?.sandbox?.mode ?? "non-main";
|
|
2679
2684
|
const toolsCfg = cfg?.tools ?? {};
|
|
2680
2685
|
const { describeToolPolicy, applyToolPolicy } = await Promise.resolve().then(() => require("./tool-policy-TmXx_fpp.js"));
|
|
2681
|
-
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-
|
|
2686
|
+
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
2682
2687
|
const allTools = [
|
|
2683
2688
|
...getBuiltinTools(),
|
|
2684
2689
|
...getSessionsTools(() => null),
|
|
@@ -3079,7 +3084,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
|
|
|
3079
3084
|
cfgCmd.command("schema").description("Show configuration schema").action(() => {
|
|
3080
3085
|
console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/hyperclaw.json\n"));
|
|
3081
3086
|
const schema = {
|
|
3082
|
-
version: "string (e.g. \"5.2.
|
|
3087
|
+
version: "string (e.g. \"5.2.6\")",
|
|
3083
3088
|
workspaceName: "string",
|
|
3084
3089
|
provider: {
|
|
3085
3090
|
providerId: "string",
|
|
@@ -3390,7 +3395,7 @@ secretsCmd.command("credentials").description("List provider credential files (c
|
|
|
3390
3395
|
});
|
|
3391
3396
|
const securityCmd = program.command("security").description("Security tools");
|
|
3392
3397
|
securityCmd.command("audit").description("Security audit — file permissions, DM policies, embedded secrets").option("--deep", "Full deep scan including token entropy and installed skill risks").option("--fix", "Auto-fix safe findings (file permissions etc.)").option("--json", "Machine-readable JSON output").action(async (opts) => {
|
|
3393
|
-
const { runSecurityAudit } = await Promise.resolve().then(() => require("./audit-
|
|
3398
|
+
const { runSecurityAudit } = await Promise.resolve().then(() => require("./audit-NPINyRh4.js"));
|
|
3394
3399
|
await runSecurityAudit({
|
|
3395
3400
|
deep: opts.deep,
|
|
3396
3401
|
fix: opts.fix,
|
|
@@ -3409,7 +3414,7 @@ program.command("osint").description("OSINT / Ethical Hacking mode — configure
|
|
|
3409
3414
|
process.exit(0);
|
|
3410
3415
|
});
|
|
3411
3416
|
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").action(async (opts) => {
|
|
3412
|
-
const { runChat } = await Promise.resolve().then(() => require("./chat-
|
|
3417
|
+
const { runChat } = await Promise.resolve().then(() => require("./chat-8E4H6nqx.js"));
|
|
3413
3418
|
await runChat({
|
|
3414
3419
|
sessionId: opts.session,
|
|
3415
3420
|
model: opts.model,
|
|
@@ -3419,7 +3424,7 @@ program.command("chat").description("Interactive terminal chat with the agent").
|
|
|
3419
3424
|
});
|
|
3420
3425
|
const agentRunCmd = program.command("agent").description("Run agent with thinking control");
|
|
3421
3426
|
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) => {
|
|
3422
|
-
const { runAgent } = await Promise.resolve().then(() => require("./src-
|
|
3427
|
+
const { runAgent } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
3423
3428
|
await runAgent({
|
|
3424
3429
|
message: opts.message,
|
|
3425
3430
|
thinking: opts.thinking,
|
|
@@ -3435,7 +3440,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
|
|
|
3435
3440
|
});
|
|
3436
3441
|
const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
|
|
3437
3442
|
threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
|
|
3438
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3443
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
3439
3444
|
const mgr = new ACPThreadManager();
|
|
3440
3445
|
const threads = await mgr.list({
|
|
3441
3446
|
channelId: opts.channel,
|
|
@@ -3445,7 +3450,7 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
|
|
|
3445
3450
|
process.exit(0);
|
|
3446
3451
|
});
|
|
3447
3452
|
threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
|
|
3448
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3453
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
3449
3454
|
await new ACPThreadManager().terminate(id);
|
|
3450
3455
|
console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
|
|
3451
3456
|
process.exit(0);
|
|
@@ -3510,22 +3515,22 @@ mcpCmd.command("probe [id]").description("Test MCP server connection").action(as
|
|
|
3510
3515
|
});
|
|
3511
3516
|
const nodeCmd = program.command("node").description("HyperClaw node management (local, remote, android)");
|
|
3512
3517
|
nodeCmd.command("list").description("List paired nodes").action(async () => {
|
|
3513
|
-
const { nodeList } = await Promise.resolve().then(() => require("./node-
|
|
3518
|
+
const { nodeList } = await Promise.resolve().then(() => require("./node-4_wJsNEN.js"));
|
|
3514
3519
|
await nodeList();
|
|
3515
3520
|
process.exit(0);
|
|
3516
3521
|
});
|
|
3517
3522
|
nodeCmd.command("add").description("Add or pair a node").action(async () => {
|
|
3518
|
-
const { nodeAdd } = await Promise.resolve().then(() => require("./node-
|
|
3523
|
+
const { nodeAdd } = await Promise.resolve().then(() => require("./node-4_wJsNEN.js"));
|
|
3519
3524
|
await nodeAdd();
|
|
3520
3525
|
process.exit(0);
|
|
3521
3526
|
});
|
|
3522
3527
|
nodeCmd.command("probe [id]").description("Probe node connection").action(async (id) => {
|
|
3523
|
-
const { nodeProbe } = await Promise.resolve().then(() => require("./node-
|
|
3528
|
+
const { nodeProbe } = await Promise.resolve().then(() => require("./node-4_wJsNEN.js"));
|
|
3524
3529
|
await nodeProbe(id);
|
|
3525
3530
|
process.exit(0);
|
|
3526
3531
|
});
|
|
3527
3532
|
nodeCmd.command("remove <id>").description("Remove paired node").action(async (id) => {
|
|
3528
|
-
const { nodeRemove } = await Promise.resolve().then(() => require("./node-
|
|
3533
|
+
const { nodeRemove } = await Promise.resolve().then(() => require("./node-4_wJsNEN.js"));
|
|
3529
3534
|
await nodeRemove(id);
|
|
3530
3535
|
process.exit(0);
|
|
3531
3536
|
});
|
|
@@ -3685,7 +3690,7 @@ const logsCmd = program.command("logs").description("View gateway logs");
|
|
|
3685
3690
|
logsCmd.option("-n, --lines <n>", "Number of lines to show", "50");
|
|
3686
3691
|
logsCmd.option("-f, --follow", "Stream logs in real time");
|
|
3687
3692
|
logsCmd.action(async (opts) => {
|
|
3688
|
-
const { tailLog, streamLog } = await Promise.resolve().then(() => require("./logger-
|
|
3693
|
+
const { tailLog, streamLog } = await Promise.resolve().then(() => require("./logger-CnxILOPV.js"));
|
|
3689
3694
|
if (opts.follow) await streamLog();
|
|
3690
3695
|
else {
|
|
3691
3696
|
await tailLog(parseInt(opts.lines));
|
|
@@ -3693,7 +3698,7 @@ logsCmd.action(async (opts) => {
|
|
|
3693
3698
|
}
|
|
3694
3699
|
});
|
|
3695
3700
|
program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
|
|
3696
|
-
const { startGateway } = await Promise.resolve().then(() => require("./server-
|
|
3701
|
+
const { startGateway } = await Promise.resolve().then(() => require("./server-DIwR4tT3.js"));
|
|
3697
3702
|
await startGateway();
|
|
3698
3703
|
process.on("SIGINT", () => process.exit(0));
|
|
3699
3704
|
process.on("SIGTERM", () => process.exit(0));
|
|
@@ -3791,7 +3796,8 @@ authCmd.command("add <service_id>").description("Add API key for a service (any
|
|
|
3791
3796
|
let envContent = "";
|
|
3792
3797
|
if (await fs$7.pathExists(envPath)) envContent = await fs$7.readFile(envPath, "utf8");
|
|
3793
3798
|
const envLine = `${envVar}=${apiKey}`;
|
|
3794
|
-
const
|
|
3799
|
+
const escapedEnvVar = envVar.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
3800
|
+
const re = new RegExp(`^${escapedEnvVar}=.*$`, "m");
|
|
3795
3801
|
if (re.test(envContent)) envContent = envContent.replace(re, envLine);
|
|
3796
3802
|
else envContent = envContent.trimEnd() + (envContent ? "\n" : "") + envLine + "\n";
|
|
3797
3803
|
await fs$7.writeFile(envPath, envContent, { mode: 384 });
|
|
@@ -3824,7 +3830,7 @@ authCmd.command("oauth <provider>").description("Run full OAuth flow. Providers:
|
|
|
3824
3830
|
const chalk$11 = require("chalk");
|
|
3825
3831
|
const ora$4 = (await import("ora")).default;
|
|
3826
3832
|
try {
|
|
3827
|
-
const { runOAuthFlow } = await Promise.resolve().then(() => require("./oauth-flow-
|
|
3833
|
+
const { runOAuthFlow } = await Promise.resolve().then(() => require("./oauth-flow-CJ7dFXKT.js"));
|
|
3828
3834
|
const spinner = ora$4("Starting OAuth flow...").start();
|
|
3829
3835
|
spinner.text = "Opening browser — complete the consent and return here.";
|
|
3830
3836
|
const tokens = await runOAuthFlow(provider, {
|
|
@@ -3842,10 +3848,10 @@ authCmd.command("oauth <provider>").description("Run full OAuth flow. Providers:
|
|
|
3842
3848
|
expires_at,
|
|
3843
3849
|
token_url: tokenUrl
|
|
3844
3850
|
});
|
|
3845
|
-
console.log(chalk$11.hex("#06b6d4")(`\n ✔ OAuth tokens saved for: ${provider}`));
|
|
3846
|
-
console.log(chalk$11.gray(" Set in hyperclaw.json: \"provider\": { \"authType\": \"oauth\", \"providerId\": \"" + provider + "\" }\n"));
|
|
3851
|
+
console.log(chalk$11.hex("#06b6d4")(`\n ✔ OAuth tokens saved for: ${sanitizeForLog(provider)}`));
|
|
3852
|
+
console.log(chalk$11.gray(" Set in hyperclaw.json: \"provider\": { \"authType\": \"oauth\", \"providerId\": \"" + sanitizeForLog(provider) + "\" }\n"));
|
|
3847
3853
|
} catch (e) {
|
|
3848
|
-
console.error(chalk$11.red("\n ✖ OAuth failed: " + e
|
|
3854
|
+
console.error(chalk$11.red("\n ✖ OAuth failed: " + sanitizeForLog(e?.message) + "\n"));
|
|
3849
3855
|
process.exit(1);
|
|
3850
3856
|
}
|
|
3851
3857
|
process.exit(0);
|
|
@@ -3891,8 +3897,8 @@ authCmd.command("oauth-set <provider>").description("Save OAuth tokens manually
|
|
|
3891
3897
|
expires_at,
|
|
3892
3898
|
token_url: opts.tokenUrl || void 0
|
|
3893
3899
|
});
|
|
3894
|
-
console.log(chalk$11.hex("#06b6d4")(`\n ✔ OAuth tokens saved for provider: ${provider}`));
|
|
3895
|
-
console.log(chalk$11.gray(" Set in hyperclaw.json: \"provider\": { \"authType\": \"oauth\", \"providerId\": \"" + provider + "\" }\n"));
|
|
3900
|
+
console.log(chalk$11.hex("#06b6d4")(`\n ✔ OAuth tokens saved for provider: ${sanitizeForLog(provider)}`));
|
|
3901
|
+
console.log(chalk$11.gray(" Set in hyperclaw.json: \"provider\": { \"authType\": \"oauth\", \"providerId\": \"" + sanitizeForLog(provider) + "\" }\n"));
|
|
3896
3902
|
process.exit(0);
|
|
3897
3903
|
});
|
|
3898
3904
|
const workspaceCmd = program.command("workspace").description("Manage agent workspace files");
|
|
@@ -3945,13 +3951,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
|
|
|
3945
3951
|
});
|
|
3946
3952
|
const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
|
|
3947
3953
|
botCmd.command("status").action(async () => {
|
|
3948
|
-
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3954
|
+
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-CIvGq2IG.js"));
|
|
3949
3955
|
await showBotStatus();
|
|
3950
3956
|
process.exit(0);
|
|
3951
3957
|
});
|
|
3952
3958
|
botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
|
|
3953
3959
|
const inquirer$2 = require("inquirer");
|
|
3954
|
-
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3960
|
+
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-CIvGq2IG.js"));
|
|
3955
3961
|
const chalk$11 = require("chalk");
|
|
3956
3962
|
console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
|
|
3957
3963
|
console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
|
|
@@ -4013,14 +4019,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4013
4019
|
cwd: process.cwd()
|
|
4014
4020
|
});
|
|
4015
4021
|
child.unref();
|
|
4016
|
-
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4022
|
+
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-CIvGq2IG.js"));
|
|
4017
4023
|
await writeBotPid(child.pid);
|
|
4018
4024
|
console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
|
|
4019
4025
|
console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
|
|
4020
4026
|
process.exit(0);
|
|
4021
4027
|
return;
|
|
4022
4028
|
}
|
|
4023
|
-
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4029
|
+
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-CIvGq2IG.js"));
|
|
4024
4030
|
const cfg = await loadBotConfig();
|
|
4025
4031
|
if (!cfg) {
|
|
4026
4032
|
console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
|
|
@@ -4047,41 +4053,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4047
4053
|
});
|
|
4048
4054
|
botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
|
|
4049
4055
|
const chalk$11 = require("chalk");
|
|
4050
|
-
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4056
|
+
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-CIvGq2IG.js"));
|
|
4051
4057
|
const stopped = await stopBotProcess();
|
|
4052
4058
|
if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
|
|
4053
4059
|
else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
|
|
4054
4060
|
process.exit(stopped ? 0 : 1);
|
|
4055
4061
|
});
|
|
4056
4062
|
memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
|
|
4057
|
-
const { searchMemory } = await Promise.resolve().then(() => require("./src-
|
|
4063
|
+
const { searchMemory } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4058
4064
|
await searchMemory(query);
|
|
4059
4065
|
process.exit(0);
|
|
4060
4066
|
});
|
|
4061
4067
|
memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
|
|
4062
|
-
const { showMemory } = await Promise.resolve().then(() => require("./src-
|
|
4068
|
+
const { showMemory } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4063
4069
|
await showMemory();
|
|
4064
4070
|
process.exit(0);
|
|
4065
4071
|
});
|
|
4066
4072
|
memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
|
|
4067
|
-
const { clearMemory } = await Promise.resolve().then(() => require("./src-
|
|
4073
|
+
const { clearMemory } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4068
4074
|
await clearMemory();
|
|
4069
4075
|
process.exit(0);
|
|
4070
4076
|
});
|
|
4071
4077
|
memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
|
|
4072
|
-
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-
|
|
4078
|
+
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4073
4079
|
await saveMemoryDirect(text);
|
|
4074
4080
|
console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
|
|
4075
4081
|
process.exit(0);
|
|
4076
4082
|
});
|
|
4077
4083
|
const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
|
|
4078
4084
|
pcCmd.command("status").description("Show PC access status and config").action(async () => {
|
|
4079
|
-
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-
|
|
4085
|
+
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4080
4086
|
await showPCAccessStatus();
|
|
4081
4087
|
process.exit(0);
|
|
4082
4088
|
});
|
|
4083
4089
|
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) => {
|
|
4084
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4090
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4085
4091
|
const level = opts.level;
|
|
4086
4092
|
const allowed = [
|
|
4087
4093
|
"read-only",
|
|
@@ -4108,7 +4114,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
|
|
|
4108
4114
|
process.exit(0);
|
|
4109
4115
|
});
|
|
4110
4116
|
pcCmd.command("disable").description("Disable PC access").action(async () => {
|
|
4111
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4117
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4112
4118
|
await savePCAccessConfig({ enabled: false });
|
|
4113
4119
|
console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
|
|
4114
4120
|
process.exit(0);
|
|
@@ -4133,7 +4139,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
|
|
|
4133
4139
|
process.exit(0);
|
|
4134
4140
|
});
|
|
4135
4141
|
pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
|
|
4136
|
-
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-
|
|
4142
|
+
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-BVeLalMV.js"));
|
|
4137
4143
|
const cfg = await loadPCAccessConfig();
|
|
4138
4144
|
if (!cfg.enabled) {
|
|
4139
4145
|
console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
|
|
@@ -4191,7 +4197,7 @@ if (process.argv.length === 2) (async () => {
|
|
|
4191
4197
|
console.log(` ${t.c("hyperclaw --help")} — all commands\n`);
|
|
4192
4198
|
} else {
|
|
4193
4199
|
await new require_onboard.Banner().showNeonBanner(false);
|
|
4194
|
-
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-
|
|
4200
|
+
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-CQkUrkNk.js"));
|
|
4195
4201
|
await new HyperClawWizard$1().run({ wizard: true });
|
|
4196
4202
|
}
|
|
4197
4203
|
await runUpdateCheck();
|
|
@@ -4201,7 +4207,7 @@ else program.parseAsync(process.argv).then(async () => {
|
|
|
4201
4207
|
await runUpdateCheck();
|
|
4202
4208
|
process.exit(0);
|
|
4203
4209
|
}).catch((e) => {
|
|
4204
|
-
console.error(e
|
|
4210
|
+
console.error(sanitizeForLog(e?.message));
|
|
4205
4211
|
process.exit(1);
|
|
4206
4212
|
});
|
|
4207
4213
|
|