hyperclaw 5.2.9 → 5.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/dist/banner-7G-bEcQg.js +143 -0
  2. package/dist/banner-BbUkjcoX.js +7 -0
  3. package/dist/banner-DXWl0t8M.js +7 -0
  4. package/dist/banner-DupxNjxh.js +143 -0
  5. package/dist/chat-2cf--psT.js +545 -0
  6. package/dist/chat-TGA-UO46.js +536 -0
  7. package/dist/daemon-BgT541y-.js +421 -0
  8. package/dist/daemon-CckV-o_V.js +421 -0
  9. package/dist/daemon-OqS7Ohda.js +7 -0
  10. package/dist/daemon-iM7U3tDr.js +7 -0
  11. package/dist/engine-BUqmNzOL.js +7 -0
  12. package/dist/engine-BrDEACit.js +327 -0
  13. package/dist/engine-Co38wljj.js +327 -0
  14. package/dist/engine-DrsMsoLZ.js +7 -0
  15. package/dist/hyperclawbot-CZ4DjvO-.js +516 -0
  16. package/dist/hyperclawbot-ukhzbWGk.js +516 -0
  17. package/dist/mcp-loader-CVhiejBN.js +93 -0
  18. package/dist/mcp-loader-u-tt6BEx.js +93 -0
  19. package/dist/onboard-CSJuvkMN.js +14 -0
  20. package/dist/onboard-D6afaGWd.js +3812 -0
  21. package/dist/onboard-eIxjVYKi.js +3812 -0
  22. package/dist/onboard-gr80CpYU.js +14 -0
  23. package/dist/orchestrator-BwBZ5iON.js +189 -0
  24. package/dist/orchestrator-Cgj-8BbJ.js +189 -0
  25. package/dist/orchestrator-CjZos0wH.js +6 -0
  26. package/dist/orchestrator-PLHfNTD6.js +6 -0
  27. package/dist/osint-B6mHZP10.js +283 -0
  28. package/dist/osint-CMyamX3_.js +283 -0
  29. package/dist/osint-chat-DPHec6BB.js +789 -0
  30. package/dist/osint-chat-D_6Fb27C.js +789 -0
  31. package/dist/run-main.js +37 -32
  32. package/dist/server-B9rMYJwV.js +4 -0
  33. package/dist/server-CrZ_WVSf.js +1365 -0
  34. package/dist/server-DMC1wOsc.js +1365 -0
  35. package/dist/server-zXVY2lfd.js +4 -0
  36. package/dist/skill-runtime-CxDPbEuj.js +104 -0
  37. package/dist/skill-runtime-CzsUymMA.js +104 -0
  38. package/dist/skill-runtime-DAP0Gs_7.js +5 -0
  39. package/dist/skill-runtime-DXEKaHRd.js +5 -0
  40. package/dist/src-CSriPfaE.js +63 -0
  41. package/dist/src-CYUaLsXl.js +458 -0
  42. package/dist/src-CvJOtJlj.js +458 -0
  43. package/dist/src-cowbRb9x.js +63 -0
  44. package/dist/sub-agent-tools-CFlCWrhp.js +39 -0
  45. package/dist/sub-agent-tools-CIA8mqjv.js +39 -0
  46. package/dist/update-check-CApy4DTc.js +117 -0
  47. package/dist/update-check-CCMXnjxr.js +7 -0
  48. package/package.json +1 -1
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-De4H45Ju.js');
7
- const require_daemon = require('./daemon-aVX-WGz1.js');
6
+ require('./server-CrZ_WVSf.js');
7
+ const require_daemon = require('./daemon-CckV-o_V.js');
8
8
  const require_gateway = require('./gateway-CzI8dnlS.js');
9
9
  require('./providers-DP8T0QCR.js');
10
- const require_onboard = require('./onboard-B3drurt-.js');
10
+ const require_onboard = require('./onboard-D6afaGWd.js');
11
11
  require('./theme-CLXvI6Hr.js');
12
- const require_banner = require('./banner-Bb7CderS.js');
12
+ const require_banner = require('./banner-7G-bEcQg.js');
13
13
  const require_hub = require('./hub-Bb_dYECE.js');
14
- const require_update_check = require('./update-check-GDue_it1.js');
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,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.2.9").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) => {
2542
+ program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.3.1").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) => {
2543
2543
  const profile = thisCommand.opts().profile;
2544
2544
  if (profile) {
2545
2545
  const os$2 = require("os");
@@ -2684,7 +2684,7 @@ sandboxCmd.command("explain").description("Show effective sandbox mode, tool pol
2684
2684
  const sandboxMode = cfg?.agents?.defaults?.sandbox?.mode ?? "non-main";
2685
2685
  const toolsCfg = cfg?.tools ?? {};
2686
2686
  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-BxmkZ9RH.js"));
2687
+ const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
2688
2688
  const allTools = [
2689
2689
  ...getBuiltinTools(),
2690
2690
  ...getSessionsTools(() => null),
@@ -3085,7 +3085,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
3085
3085
  cfgCmd.command("schema").description("Show configuration schema").action(() => {
3086
3086
  console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/hyperclaw.json\n"));
3087
3087
  const schema = {
3088
- version: "string (e.g. \"5.2.9\")",
3088
+ version: "string (e.g. \"5.3.1\")",
3089
3089
  workspaceName: "string",
3090
3090
  provider: {
3091
3091
  providerId: "string",
@@ -3405,30 +3405,35 @@ securityCmd.command("audit").description("Security audit — file permissions, D
3405
3405
  process.exit(0);
3406
3406
  });
3407
3407
  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-Bsf6RGPv.js"));
3408
+ const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-B6mHZP10.js"));
3409
3409
  if (opts.show || opts.reset) await osintSetup({
3410
3410
  show: opts.show,
3411
3411
  reset: opts.reset
3412
3412
  });
3413
3413
  else if (workflow === "chat") {
3414
- const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-Ark94iFc.js"));
3414
+ const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-DPHec6BB.js"));
3415
3415
  await runOsintChat({ model: opts.model });
3416
3416
  } else if (workflow === "setup" || workflow) await osintSetup({ mode: workflow });
3417
3417
  else await osintQuickStart();
3418
3418
  process.exit(0);
3419
3419
  });
3420
- 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) => {
3421
- const { runChat } = await Promise.resolve().then(() => require("./chat-D1Zc73I5.js"));
3420
+ 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-2cf--psT.js"));
3422
+ const cfg = await new require_manager.ConfigManager().load().catch(() => null);
3423
+ const port = cfg?.gateway?.port ?? 18789;
3424
+ const gm = new GatewayManager$1();
3425
+ const daemonRunning = await gm.isRunning(port);
3422
3426
  await runChat({
3423
3427
  sessionId: opts.session,
3424
3428
  model: opts.model,
3425
3429
  thinking: opts.thinking,
3426
- workspace: opts.workspace
3430
+ workspace: opts.workspace,
3431
+ daemonMode: opts.daemon ?? daemonRunning
3427
3432
  });
3428
3433
  });
3429
3434
  const agentRunCmd = program.command("agent").description("Run agent with thinking control");
3430
3435
  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) => {
3431
- const { runAgent } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
3436
+ const { runAgent } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
3432
3437
  await runAgent({
3433
3438
  message: opts.message,
3434
3439
  thinking: opts.thinking,
@@ -3444,7 +3449,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
3444
3449
  });
3445
3450
  const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
3446
3451
  threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
3447
- const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
3452
+ const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
3448
3453
  const mgr = new ACPThreadManager();
3449
3454
  const threads = await mgr.list({
3450
3455
  channelId: opts.channel,
@@ -3454,7 +3459,7 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
3454
3459
  process.exit(0);
3455
3460
  });
3456
3461
  threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
3457
- const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
3462
+ const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
3458
3463
  await new ACPThreadManager().terminate(id);
3459
3464
  console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
3460
3465
  process.exit(0);
@@ -3702,7 +3707,7 @@ logsCmd.action(async (opts) => {
3702
3707
  }
3703
3708
  });
3704
3709
  program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
3705
- const { startGateway } = await Promise.resolve().then(() => require("./server-CRhXiGI9.js"));
3710
+ const { startGateway } = await Promise.resolve().then(() => require("./server-zXVY2lfd.js"));
3706
3711
  await startGateway();
3707
3712
  process.on("SIGINT", () => process.exit(0));
3708
3713
  process.on("SIGTERM", () => process.exit(0));
@@ -3955,13 +3960,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
3955
3960
  });
3956
3961
  const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
3957
3962
  botCmd.command("status").action(async () => {
3958
- const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-CgrV46DA.js"));
3963
+ const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-ukhzbWGk.js"));
3959
3964
  await showBotStatus();
3960
3965
  process.exit(0);
3961
3966
  });
3962
3967
  botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
3963
3968
  const inquirer$2 = require("inquirer");
3964
- const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-CgrV46DA.js"));
3969
+ const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-ukhzbWGk.js"));
3965
3970
  const chalk$11 = require("chalk");
3966
3971
  console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
3967
3972
  console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
@@ -4023,14 +4028,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
4023
4028
  cwd: process.cwd()
4024
4029
  });
4025
4030
  child.unref();
4026
- const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-CgrV46DA.js"));
4031
+ const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-ukhzbWGk.js"));
4027
4032
  await writeBotPid(child.pid);
4028
4033
  console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
4029
4034
  console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
4030
4035
  process.exit(0);
4031
4036
  return;
4032
4037
  }
4033
- const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-CgrV46DA.js"));
4038
+ const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-ukhzbWGk.js"));
4034
4039
  const cfg = await loadBotConfig();
4035
4040
  if (!cfg) {
4036
4041
  console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
@@ -4057,41 +4062,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
4057
4062
  });
4058
4063
  botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
4059
4064
  const chalk$11 = require("chalk");
4060
- const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-CgrV46DA.js"));
4065
+ const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-ukhzbWGk.js"));
4061
4066
  const stopped = await stopBotProcess();
4062
4067
  if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
4063
4068
  else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
4064
4069
  process.exit(stopped ? 0 : 1);
4065
4070
  });
4066
4071
  memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
4067
- const { searchMemory } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4072
+ const { searchMemory } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4068
4073
  await searchMemory(query);
4069
4074
  process.exit(0);
4070
4075
  });
4071
4076
  memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
4072
- const { showMemory } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4077
+ const { showMemory } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4073
4078
  await showMemory();
4074
4079
  process.exit(0);
4075
4080
  });
4076
4081
  memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
4077
- const { clearMemory } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4082
+ const { clearMemory } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4078
4083
  await clearMemory();
4079
4084
  process.exit(0);
4080
4085
  });
4081
4086
  memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
4082
- const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4087
+ const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4083
4088
  await saveMemoryDirect(text);
4084
4089
  console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
4085
4090
  process.exit(0);
4086
4091
  });
4087
4092
  const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
4088
4093
  pcCmd.command("status").description("Show PC access status and config").action(async () => {
4089
- const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4094
+ const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4090
4095
  await showPCAccessStatus();
4091
4096
  process.exit(0);
4092
4097
  });
4093
4098
  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) => {
4094
- const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4099
+ const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4095
4100
  const level = opts.level;
4096
4101
  const allowed = [
4097
4102
  "read-only",
@@ -4118,7 +4123,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
4118
4123
  process.exit(0);
4119
4124
  });
4120
4125
  pcCmd.command("disable").description("Disable PC access").action(async () => {
4121
- const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4126
+ const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4122
4127
  await savePCAccessConfig({ enabled: false });
4123
4128
  console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
4124
4129
  process.exit(0);
@@ -4143,7 +4148,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
4143
4148
  process.exit(0);
4144
4149
  });
4145
4150
  pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
4146
- const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-BxmkZ9RH.js"));
4151
+ const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-CSriPfaE.js"));
4147
4152
  const cfg = await loadPCAccessConfig();
4148
4153
  if (!cfg.enabled) {
4149
4154
  console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
@@ -4174,7 +4179,7 @@ program.command("setup").description("Setup wizard — alias for `hyperclaw onbo
4174
4179
  });
4175
4180
  async function runUpdateCheck() {
4176
4181
  try {
4177
- const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-C4te7JmY.js"));
4182
+ const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-CCMXnjxr.js"));
4178
4183
  const path$5 = require("path");
4179
4184
  const { readFileSync } = require("fs");
4180
4185
  const pkgPath = path$5.resolve(__dirname, "../package.json");
@@ -4201,7 +4206,7 @@ if (process.argv.length === 2) (async () => {
4201
4206
  console.log(` ${t.c("hyperclaw --help")} — all commands\n`);
4202
4207
  } else {
4203
4208
  await new require_banner.Banner().showNeonBanner(false);
4204
- const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-DEwuHrMj.js"));
4209
+ const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-gr80CpYU.js"));
4205
4210
  await new HyperClawWizard$1().run({ wizard: true });
4206
4211
  }
4207
4212
  await runUpdateCheck();
@@ -0,0 +1,4 @@
1
+ const require_chunk = require('./chunk-jS-bbMI5.js');
2
+ const require_server = require('./server-DMC1wOsc.js');
3
+
4
+ exports.startGateway = require_server.startGateway;