hyperclaw 5.2.8 → 5.3.0
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/a2ui-protocol-DEsfqO7h.js +75 -0
- package/dist/agents-routing-ChorJKFL.js +6 -0
- package/dist/agents-routing-Cpg20-1e.js +398 -0
- package/dist/api-key-validation-DgOBmp8Y.js +64 -0
- package/dist/api-keys-guide--73Bq0Ey.js +149 -0
- package/dist/audit-Dntx9fG9.js +445 -0
- package/dist/banner-B_rR7FPO.js +7 -0
- package/dist/banner-Bb7CderS.js +143 -0
- package/dist/banner-BbUkjcoX.js +7 -0
- package/dist/banner-DupxNjxh.js +143 -0
- package/dist/bounty-tools-Dn9Yq7V1.js +211 -0
- package/dist/browser-tools-CJ9M9o22.js +179 -0
- package/dist/browser-tools-CXxWxA1c.js +5 -0
- package/dist/chat-D1Zc73I5.js +513 -0
- package/dist/chat-TGA-UO46.js +536 -0
- package/dist/claw-tasks-ChqkHdFs.js +80 -0
- package/dist/config-Bzues-G2.js +7 -0
- package/dist/config-DGAAJ49A.js +261 -0
- package/dist/connector-1efnZgQN.js +566 -0
- package/dist/connector-B5q1_srT.js +286 -0
- package/dist/connector-BMFLJ4fr.js +508 -0
- package/dist/connector-BZYv9siY.js +189 -0
- package/dist/connector-B_XkXm-j.js +218 -0
- package/dist/connector-BkY1I6gf.js +189 -0
- package/dist/connector-C2Z3RN1z.js +350 -0
- package/dist/connector-C7aYvVzU.js +225 -0
- package/dist/connector-CXXYOyHw.js +164 -0
- package/dist/connector-Ca1J23HX.js +167 -0
- package/dist/connector-Cjqc656I.js +181 -0
- package/dist/connector-CluRienN.js +425 -0
- package/dist/connector-CuNz2eP-.js +305 -0
- package/dist/connector-DHL_oeHy.js +552 -0
- package/dist/connector-DJ79rd1L.js +173 -0
- package/dist/connector-DcLE6xCZ.js +239 -0
- package/dist/connector-DcyQTJnJ.js +162 -0
- package/dist/connector-DgyX9qSc.js +192 -0
- package/dist/connector-DnDXXZ7L.js +182 -0
- package/dist/connector-DqUslg-X.js +213 -0
- package/dist/connector-Duc-HmRZ.js +85 -0
- package/dist/connector-IV0QFer8.js +498 -0
- package/dist/connector-OnsLxE8G.js +194 -0
- package/dist/connector-UYu_TS0X.js +204 -0
- package/dist/connector-cCA5ffmp.js +340 -0
- package/dist/connector-fbNfx4_L.js +568 -0
- package/dist/connector-fi2vlwbO.js +276 -0
- package/dist/connector-l3LD8IDN.js +419 -0
- package/dist/cost-tracker-DCXDUzBI.js +103 -0
- package/dist/credentials-store-Bmm9e1SS.js +7 -0
- package/dist/credentials-store-D8ERbGR2.js +89 -0
- package/dist/cron-tasks-OQbgmenS.js +85 -0
- package/dist/daemon-BgT541y-.js +421 -0
- package/dist/daemon-aVX-WGz1.js +421 -0
- package/dist/daemon-iFmVBPXN.js +7 -0
- package/dist/daemon-iM7U3tDr.js +7 -0
- package/dist/delivery-Pko6sSkt.js +4 -0
- package/dist/delivery-hMHFRZwy.js +95 -0
- package/dist/destructive-gate-C2TrWsp2.js +101 -0
- package/dist/developer-keys-BWXHaWxY.js +127 -0
- package/dist/developer-keys-CzDxVczE.js +8 -0
- package/dist/device-auth-store-C1bCwXO2.js +7 -0
- package/dist/device-auth-store-DIZTOz4V.js +88 -0
- package/dist/doctor-C6nAGdH8.js +233 -0
- package/dist/doctor-mgWumA25.js +6 -0
- package/dist/engine-BGRTi0fo.js +327 -0
- package/dist/engine-BrDEACit.js +327 -0
- package/dist/engine-BvCEhaUn.js +7 -0
- package/dist/engine-DrsMsoLZ.js +7 -0
- package/dist/env-resolve-CHxjGo8u.js +151 -0
- package/dist/env-resolve-pIETNTpQ.js +10 -0
- package/dist/extraction-tools-BE6z_Yw5.js +91 -0
- package/dist/extraction-tools-CJsdyBST.js +5 -0
- package/dist/form_data-B2_0EoWj.js +8657 -0
- package/dist/gmail-watch-setup-1RGIHNdu.js +42 -0
- package/dist/health-BMUmUNoe.js +152 -0
- package/dist/health-C8n9RH5O.js +6 -0
- package/dist/heartbeat-engine-aRbab8a5.js +89 -0
- package/dist/hub-BJM2KXLO.js +6 -0
- package/dist/hub-Bb_dYECE.js +512 -0
- package/dist/hyperclawbot-CZ4DjvO-.js +516 -0
- package/dist/hyperclawbot-CgrV46DA.js +516 -0
- package/dist/inference-CFBkvLpE.js +2854 -0
- package/dist/inference-G4MbdErG.js +8 -0
- package/dist/knowledge-graph-9UNrsiIY.js +134 -0
- package/dist/loader-DIPs649t.js +410 -0
- package/dist/loader-Dq_cDlOW.js +6 -0
- package/dist/logger-CG38Idq4.js +86 -0
- package/dist/manager--wG9JdFW.js +120 -0
- package/dist/manager-BNc21xgG.js +6 -0
- package/dist/manager-DWJ7WZcY.js +250 -0
- package/dist/manager-DYfzqckn.js +35 -0
- package/dist/mcp-SsMEvl28.js +142 -0
- package/dist/mcp-loader-CVhiejBN.js +93 -0
- package/dist/mcp-loader-DLrp_oZJ.js +93 -0
- package/dist/memory-BCYvdqwo.js +273 -0
- package/dist/memory-BGgCBSx1.js +6 -0
- package/dist/memory-auto-Bh52cQJP.js +5 -0
- package/dist/memory-auto-BupvVwNd.js +306 -0
- package/dist/memory-integration-4oGqX6rr.js +91 -0
- package/dist/moltbook-B3DNdh40.js +81 -0
- package/dist/node-C4esBfbX.js +226 -0
- package/dist/nodes-registry-DLUZhEMS.js +52 -0
- package/dist/oauth-flow-BbLQTzZk.js +148 -0
- package/dist/oauth-provider-UZyG84s7.js +111 -0
- package/dist/observability-BtLyuxcz.js +89 -0
- package/dist/onboard-B3drurt-.js +3812 -0
- package/dist/onboard-CSJuvkMN.js +14 -0
- package/dist/onboard-DEwuHrMj.js +14 -0
- package/dist/onboard-eIxjVYKi.js +3812 -0
- package/dist/orchestrator-BXyIgAeH.js +189 -0
- package/dist/orchestrator-Cgj-8BbJ.js +189 -0
- package/dist/orchestrator-MLTc4NYu.js +6 -0
- package/dist/orchestrator-PLHfNTD6.js +6 -0
- package/dist/osint-Bsf6RGPv.js +283 -0
- package/dist/osint-CMyamX3_.js +283 -0
- package/dist/osint-chat-Ark94iFc.js +789 -0
- package/dist/osint-chat-D_6Fb27C.js +789 -0
- package/dist/pairing-2vAiDBjN.js +6 -0
- package/dist/pairing-B4NoBvyE.js +207 -0
- package/dist/pc-access-BLnc-DYp.js +858 -0
- package/dist/pc-access-CTNtG2LD.js +8 -0
- package/dist/pending-approval-C4ZaHHWl.js +22 -0
- package/dist/reminders-store-BixTWL1h.js +58 -0
- package/dist/renderer-B1ToXngl.js +228 -0
- package/dist/rules-Cqen1Mpt.js +106 -0
- package/dist/run-main.js +101 -95
- package/dist/runner-Cr1_mwnU.js +1274 -0
- package/dist/security-B4vH02lO.js +4 -0
- package/dist/security-HOOGCw5z.js +90 -0
- package/dist/server-B9rMYJwV.js +4 -0
- package/dist/server-CRhXiGI9.js +4 -0
- package/dist/server-DMC1wOsc.js +1365 -0
- package/dist/server-De4H45Ju.js +1365 -0
- package/dist/session-store-7sEPyV16.js +5 -0
- package/dist/session-store-Ce2QMSL_.js +141 -0
- package/dist/sessions-tools-CWr_pDtp.js +5 -0
- package/dist/sessions-tools-DKVu9aIN.js +95 -0
- package/dist/skill-loader-DK19Jm4e.js +7 -0
- package/dist/skill-loader-Dfs9VNM-.js +160 -0
- package/dist/skill-runtime-BeKh2rD_.js +5 -0
- package/dist/skill-runtime-CcpC2Zfc.js +104 -0
- package/dist/skill-runtime-CzsUymMA.js +104 -0
- package/dist/skill-runtime-DAP0Gs_7.js +5 -0
- package/dist/src-BxmkZ9RH.js +63 -0
- package/dist/src-CvJOtJlj.js +458 -0
- package/dist/src-DjTtmSRg.js +20 -0
- package/dist/src-cowbRb9x.js +63 -0
- package/dist/src-n_46LPDi.js +458 -0
- package/dist/sub-agent-tools-CIA8mqjv.js +39 -0
- package/dist/sub-agent-tools-q5JqEze_.js +39 -0
- package/dist/tool-policy-QXF3MMxu.js +189 -0
- package/dist/tts-elevenlabs-y6HGWWDS.js +64 -0
- package/dist/update-check-C4te7JmY.js +6 -0
- package/dist/update-check-GDue_it1.js +98 -0
- package/dist/vision-tools-CbVfyTZT.js +5 -0
- package/dist/vision-tools-DieVQp6s.js +51 -0
- package/dist/vision-u4kMThdo.js +167 -0
- package/dist/voice-transcription-DgON5qaF.js +170 -0
- package/dist/website-watch-tools-B8L_NgwT.js +5 -0
- package/dist/website-watch-tools-Drm5HjIX.js +176 -0
- package/package.json +1 -1
package/dist/run-main.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
2
|
const require_paths = require('./paths-AIyBxIzm.js');
|
|
3
3
|
const require_paths$1 = require('./paths-DPovhojT.js');
|
|
4
|
-
require('./env-resolve-
|
|
5
|
-
const require_config = require('./config-
|
|
6
|
-
require('./server-
|
|
7
|
-
const require_daemon = require('./daemon-
|
|
4
|
+
require('./env-resolve-CHxjGo8u.js');
|
|
5
|
+
const require_config = require('./config-DGAAJ49A.js');
|
|
6
|
+
require('./server-DMC1wOsc.js');
|
|
7
|
+
const require_daemon = require('./daemon-BgT541y-.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-eIxjVYKi.js');
|
|
11
11
|
require('./theme-CLXvI6Hr.js');
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const
|
|
12
|
+
const require_banner = require('./banner-DupxNjxh.js');
|
|
13
|
+
const require_hub = require('./hub-Bb_dYECE.js');
|
|
14
|
+
const require_update_check = require('./update-check-GDue_it1.js');
|
|
15
|
+
const require_manager = require('./manager-DYfzqckn.js');
|
|
16
|
+
const require_memory = require('./memory-BCYvdqwo.js');
|
|
17
|
+
const require_loader = require('./loader-DIPs649t.js');
|
|
18
|
+
const require_agents_routing = require('./agents-routing-Cpg20-1e.js');
|
|
19
|
+
const require_pairing = require('./pairing-B4NoBvyE.js');
|
|
20
|
+
const require_doctor = require('./doctor-C6nAGdH8.js');
|
|
21
|
+
const require_health = require('./health-BMUmUNoe.js');
|
|
22
|
+
const require_security = require('./security-HOOGCw5z.js');
|
|
23
|
+
const require_device_auth_store = require('./device-auth-store-DIZTOz4V.js');
|
|
24
|
+
const require_developer_keys = require('./developer-keys-BWXHaWxY.js');
|
|
24
25
|
const commander = require_chunk.__toESM(require("commander"));
|
|
25
26
|
const chalk = require_chunk.__toESM(require("chalk"));
|
|
26
27
|
const inquirer = require_chunk.__toESM(require("inquirer"));
|
|
@@ -193,7 +194,7 @@ async function recordAudio(outFile, seconds) {
|
|
|
193
194
|
async function transcribeWhisper(filePath, lang) {
|
|
194
195
|
const apiKey = process.env.OPENAI_API_KEY || process.env.ANTHROPIC_API_KEY;
|
|
195
196
|
if (!apiKey) throw new Error("No OPENAI_API_KEY set");
|
|
196
|
-
const FormData = (await Promise.resolve().then(() => require_chunk.__toDynamicImportESM()(require("./form_data-
|
|
197
|
+
const FormData = (await Promise.resolve().then(() => require_chunk.__toDynamicImportESM()(require("./form_data-B2_0EoWj.js"))).catch(() => null))?.default;
|
|
197
198
|
if (!FormData) throw new Error("form-data not installed");
|
|
198
199
|
const form = new FormData();
|
|
199
200
|
form.append("file", fs.createReadStream(filePath), {
|
|
@@ -2538,7 +2539,7 @@ function sanitizeForLog(value) {
|
|
|
2538
2539
|
return String(value ?? "").replace(/[\r\n\t]+/g, " ").replace(/[^\x20-\x7e]+/g, "?").slice(0, 200);
|
|
2539
2540
|
}
|
|
2540
2541
|
const program = new commander.Command();
|
|
2541
|
-
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.
|
|
2542
|
+
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.3.0").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
2543
|
const profile = thisCommand.opts().profile;
|
|
2543
2544
|
if (profile) {
|
|
2544
2545
|
const os$2 = require("os");
|
|
@@ -2549,12 +2550,12 @@ program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. Th
|
|
|
2549
2550
|
}
|
|
2550
2551
|
});
|
|
2551
2552
|
program.command("init").description("Initialize HyperClaw with interactive wizard").option("-a, --auto-config", "Auto-configure with defaults").option("-d, --daemon", "Install as system daemon").option("-s, --start-now", "Start gateway after setup").action(async (opts) => {
|
|
2552
|
-
await new
|
|
2553
|
+
await new require_banner.Banner().showNeonBanner(false);
|
|
2553
2554
|
await new require_onboard.HyperClawWizard().run(opts);
|
|
2554
2555
|
process.exit(0);
|
|
2555
2556
|
});
|
|
2556
2557
|
program.command("onboard").description("Full onboarding wizard — preferred setup path").option("--install-daemon", "Auto-install system daemon (starts on boot, grants full PC access)").option("--quick", "Use QuickStart mode (skip advanced options)").option("--reset", "Reset config before running wizard (sends to trash, not deleted)").option("--reset-scope <scope>", "What to reset: config | config+creds | full", "config").option("--non-interactive", "Run in non-interactive mode (use flags for all options)").option("--json", "Output result as JSON (use with --non-interactive)").option("--anthropic-api-key <key>", "Anthropic API key (non-interactive)").option("--openai-api-key <key>", "OpenAI API key (non-interactive)").option("--gateway-port <port>", "Gateway port (non-interactive)", "18789").option("--gateway-bind <bind>", "Gateway bind: loopback | all (non-interactive)", "loopback").option("--daemon-runtime <runtime>", "Daemon runtime: node | bun (non-interactive)", "node").option("--skip-skills", "Skip skills setup (non-interactive)").option("--skip-search", "Skip web search setup (non-interactive)").action(async (opts) => {
|
|
2557
|
-
await new
|
|
2558
|
+
await new require_banner.Banner().showNeonBanner(false);
|
|
2558
2559
|
if (opts.reset) {
|
|
2559
2560
|
const fs$7 = require("fs-extra");
|
|
2560
2561
|
const path$5 = require("path");
|
|
@@ -2629,7 +2630,7 @@ program.command("onboard").description("Full onboarding wizard — preferred set
|
|
|
2629
2630
|
process.exit(0);
|
|
2630
2631
|
});
|
|
2631
2632
|
program.command("quickstart").description("Zero-config quick start").option("-c, --channels <channels>", "Channels to enable", "telegram,discord").option("-v, --voice <on|off>", "Voice enabled", "on").action(async (opts) => {
|
|
2632
|
-
await new
|
|
2633
|
+
await new require_banner.Banner().showMiniBanner();
|
|
2633
2634
|
await new require_onboard.HyperClawWizard().quickstart(opts);
|
|
2634
2635
|
process.exit(0);
|
|
2635
2636
|
});
|
|
@@ -2661,7 +2662,7 @@ gatewayCmd.command("restart").description("Restart the gateway service").action(
|
|
|
2661
2662
|
});
|
|
2662
2663
|
program.command("daemon").description("Manage gateway: start/stop (foreground) or install (auto-start on boot). Same process as gateway start.").argument("<action>", "start|stop|restart|status|logs|install|uninstall").action(async (action) => {
|
|
2663
2664
|
const dm = new require_daemon.DaemonManager();
|
|
2664
|
-
if (action === "start") await new
|
|
2665
|
+
if (action === "start") await new require_banner.Banner().showNeonBanner(true);
|
|
2665
2666
|
await dm.handle(action);
|
|
2666
2667
|
if (action === "start" || action === "restart") return;
|
|
2667
2668
|
process.exit(0);
|
|
@@ -2682,8 +2683,8 @@ sandboxCmd.command("explain").description("Show effective sandbox mode, tool pol
|
|
|
2682
2683
|
}
|
|
2683
2684
|
const sandboxMode = cfg?.agents?.defaults?.sandbox?.mode ?? "non-main";
|
|
2684
2685
|
const toolsCfg = cfg?.tools ?? {};
|
|
2685
|
-
const { describeToolPolicy, applyToolPolicy } = await Promise.resolve().then(() => require("./tool-policy-
|
|
2686
|
-
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-
|
|
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-cowbRb9x.js"));
|
|
2687
2688
|
const allTools = [
|
|
2688
2689
|
...getBuiltinTools(),
|
|
2689
2690
|
...getSessionsTools(() => null),
|
|
@@ -3022,7 +3023,7 @@ cfgCmd.command("set-key <KEY=value>").description("Set provider API key or confi
|
|
|
3022
3023
|
xai: "xai"
|
|
3023
3024
|
};
|
|
3024
3025
|
const pid = keyToProvider[key] ?? keyToProvider[key.toLowerCase()] ?? cfg?.provider?.providerId ?? key.toLowerCase();
|
|
3025
|
-
const { validateApiKeyFormat } = await Promise.resolve().then(() => require("./api-key-validation-
|
|
3026
|
+
const { validateApiKeyFormat } = await Promise.resolve().then(() => require("./api-key-validation-DgOBmp8Y.js"));
|
|
3026
3027
|
const formatErr = validateApiKeyFormat(pid, value);
|
|
3027
3028
|
if (formatErr) {
|
|
3028
3029
|
console.log(chalk.default.yellow(`\n ⚠ ${formatErr}\n`));
|
|
@@ -3084,7 +3085,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
|
|
|
3084
3085
|
cfgCmd.command("schema").description("Show configuration schema").action(() => {
|
|
3085
3086
|
console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/hyperclaw.json\n"));
|
|
3086
3087
|
const schema = {
|
|
3087
|
-
version: "string (e.g. \"5.
|
|
3088
|
+
version: "string (e.g. \"5.3.0\")",
|
|
3088
3089
|
workspaceName: "string",
|
|
3089
3090
|
provider: {
|
|
3090
3091
|
providerId: "string",
|
|
@@ -3227,7 +3228,7 @@ program.command("dashboard").description("Launch live terminal dashboard").optio
|
|
|
3227
3228
|
await new Promise(() => {});
|
|
3228
3229
|
});
|
|
3229
3230
|
program.command("status").description("System overview").option("--all", "Full local diagnosis (read-only)").option("--deep", "Also probe the running gateway").action(async (opts) => {
|
|
3230
|
-
await new
|
|
3231
|
+
await new require_banner.Banner().showStatus();
|
|
3231
3232
|
if (opts.all || opts.deep) {
|
|
3232
3233
|
const fs$7 = await import("fs-extra");
|
|
3233
3234
|
const { getConfigPath: getConfigPath$1 } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
@@ -3243,7 +3244,7 @@ program.command("status").description("System overview").option("--all", "Full l
|
|
|
3243
3244
|
}
|
|
3244
3245
|
if (opts.deep) {
|
|
3245
3246
|
const http$2 = await import("http");
|
|
3246
|
-
const { resolveGatewayUrl } = await Promise.resolve().then(() => require("./health-
|
|
3247
|
+
const { resolveGatewayUrl } = await Promise.resolve().then(() => require("./health-C8n9RH5O.js"));
|
|
3247
3248
|
const cfg = await new require_manager.ConfigManager().load();
|
|
3248
3249
|
const { gatewayUrl } = resolveGatewayUrl(cfg);
|
|
3249
3250
|
const u = new URL(gatewayUrl);
|
|
@@ -3362,40 +3363,40 @@ themeCmd.command("preview").description("Preview all themes side-by-side").actio
|
|
|
3362
3363
|
});
|
|
3363
3364
|
const secretsCmd = program.command("secrets").description("External secrets management");
|
|
3364
3365
|
secretsCmd.command("audit").description("Audit all required secrets").option("--required-by <ids>", "Filter by skill/provider IDs (comma-separated)").action(async (opts) => {
|
|
3365
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3366
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-DWJ7WZcY.js"));
|
|
3366
3367
|
const filter = opts.requiredBy?.split(",");
|
|
3367
3368
|
await new SecretsManager().audit(filter);
|
|
3368
3369
|
process.exit(0);
|
|
3369
3370
|
});
|
|
3370
3371
|
secretsCmd.command("set <KEY=value>").description("Set a secret in .env file").action(async (kv) => {
|
|
3371
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3372
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-DWJ7WZcY.js"));
|
|
3372
3373
|
await new SecretsManager().set(kv);
|
|
3373
3374
|
process.exit(0);
|
|
3374
3375
|
});
|
|
3375
3376
|
secretsCmd.command("apply").description("Write secrets from .env to shell config (~/.bashrc, ~/.zshrc)").action(async () => {
|
|
3376
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3377
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-DWJ7WZcY.js"));
|
|
3377
3378
|
await new SecretsManager().apply();
|
|
3378
3379
|
process.exit(0);
|
|
3379
3380
|
});
|
|
3380
3381
|
secretsCmd.command("reload").description("Reload secrets into running gateway").action(async () => {
|
|
3381
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3382
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-DWJ7WZcY.js"));
|
|
3382
3383
|
await new SecretsManager().reload();
|
|
3383
3384
|
process.exit(0);
|
|
3384
3385
|
});
|
|
3385
3386
|
secretsCmd.command("remove <key>").description("Remove a secret from .env").action(async (key) => {
|
|
3386
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3387
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-DWJ7WZcY.js"));
|
|
3387
3388
|
await new SecretsManager().remove(key);
|
|
3388
3389
|
process.exit(0);
|
|
3389
3390
|
});
|
|
3390
3391
|
secretsCmd.command("credentials").description("List provider credential files (credentials/*.json)").action(async () => {
|
|
3391
|
-
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-
|
|
3392
|
+
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-Bmm9e1SS.js"));
|
|
3392
3393
|
const { getHyperClawDir: getHyperClawDir$1 } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
3393
3394
|
await new CredentialsStore(getHyperClawDir$1()).showList();
|
|
3394
3395
|
process.exit(0);
|
|
3395
3396
|
});
|
|
3396
3397
|
const securityCmd = program.command("security").description("Security tools");
|
|
3397
3398
|
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) => {
|
|
3398
|
-
const { runSecurityAudit } = await Promise.resolve().then(() => require("./audit-
|
|
3399
|
+
const { runSecurityAudit } = await Promise.resolve().then(() => require("./audit-Dntx9fG9.js"));
|
|
3399
3400
|
await runSecurityAudit({
|
|
3400
3401
|
deep: opts.deep,
|
|
3401
3402
|
fix: opts.fix,
|
|
@@ -3404,30 +3405,35 @@ securityCmd.command("audit").description("Security audit — file permissions, D
|
|
|
3404
3405
|
process.exit(0);
|
|
3405
3406
|
});
|
|
3406
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) => {
|
|
3407
|
-
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-
|
|
3408
|
+
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-CMyamX3_.js"));
|
|
3408
3409
|
if (opts.show || opts.reset) await osintSetup({
|
|
3409
3410
|
show: opts.show,
|
|
3410
3411
|
reset: opts.reset
|
|
3411
3412
|
});
|
|
3412
3413
|
else if (workflow === "chat") {
|
|
3413
|
-
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-
|
|
3414
|
+
const { runOsintChat } = await Promise.resolve().then(() => require("./osint-chat-D_6Fb27C.js"));
|
|
3414
3415
|
await runOsintChat({ model: opts.model });
|
|
3415
3416
|
} else if (workflow === "setup" || workflow) await osintSetup({ mode: workflow });
|
|
3416
3417
|
else await osintQuickStart();
|
|
3417
3418
|
process.exit(0);
|
|
3418
3419
|
});
|
|
3419
|
-
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) => {
|
|
3420
|
-
const { runChat } = await Promise.resolve().then(() => require("./chat-
|
|
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-TGA-UO46.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);
|
|
3421
3426
|
await runChat({
|
|
3422
3427
|
sessionId: opts.session,
|
|
3423
3428
|
model: opts.model,
|
|
3424
3429
|
thinking: opts.thinking,
|
|
3425
|
-
workspace: opts.workspace
|
|
3430
|
+
workspace: opts.workspace,
|
|
3431
|
+
daemonMode: opts.daemon ?? daemonRunning
|
|
3426
3432
|
});
|
|
3427
3433
|
});
|
|
3428
3434
|
const agentRunCmd = program.command("agent").description("Run agent with thinking control");
|
|
3429
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) => {
|
|
3430
|
-
const { runAgent } = await Promise.resolve().then(() => require("./src-
|
|
3436
|
+
const { runAgent } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
3431
3437
|
await runAgent({
|
|
3432
3438
|
message: opts.message,
|
|
3433
3439
|
thinking: opts.thinking,
|
|
@@ -3443,7 +3449,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
|
|
|
3443
3449
|
});
|
|
3444
3450
|
const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
|
|
3445
3451
|
threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
|
|
3446
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3452
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
3447
3453
|
const mgr = new ACPThreadManager();
|
|
3448
3454
|
const threads = await mgr.list({
|
|
3449
3455
|
channelId: opts.channel,
|
|
@@ -3453,29 +3459,29 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
|
|
|
3453
3459
|
process.exit(0);
|
|
3454
3460
|
});
|
|
3455
3461
|
threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
|
|
3456
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3462
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
3457
3463
|
await new ACPThreadManager().terminate(id);
|
|
3458
3464
|
console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
|
|
3459
3465
|
process.exit(0);
|
|
3460
3466
|
});
|
|
3461
3467
|
const canvasCmd = program.command("canvas").description("Live AI-driven UI canvas");
|
|
3462
3468
|
canvasCmd.command("show").description("Show current canvas components").action(async () => {
|
|
3463
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3469
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-B1ToXngl.js"));
|
|
3464
3470
|
await new CanvasRenderer().show();
|
|
3465
3471
|
process.exit(0);
|
|
3466
3472
|
});
|
|
3467
3473
|
canvasCmd.command("add <type> <title>").description("Add a canvas component (type: chart|table|form|markdown|image|custom)").action(async (type, title) => {
|
|
3468
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3474
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-B1ToXngl.js"));
|
|
3469
3475
|
await new CanvasRenderer().addComponent(type, title);
|
|
3470
3476
|
process.exit(0);
|
|
3471
3477
|
});
|
|
3472
3478
|
canvasCmd.command("clear").description("Clear all canvas components").action(async () => {
|
|
3473
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3479
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-B1ToXngl.js"));
|
|
3474
3480
|
await new CanvasRenderer().clear();
|
|
3475
3481
|
process.exit(0);
|
|
3476
3482
|
});
|
|
3477
3483
|
canvasCmd.command("export").description("Export canvas as HTML file").action(async () => {
|
|
3478
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3484
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-B1ToXngl.js"));
|
|
3479
3485
|
const fs$7 = require("fs-extra");
|
|
3480
3486
|
const html = await new CanvasRenderer().exportHtml();
|
|
3481
3487
|
const { getHyperClawDir: getHyperClawDir$1 } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
@@ -3497,62 +3503,62 @@ deliveryCmd.command("retry <id>").description("Retry a dead-lettered delivery it
|
|
|
3497
3503
|
});
|
|
3498
3504
|
const mcpCmd = program.command("mcp").description("MCP (Model Context Protocol) server management");
|
|
3499
3505
|
mcpCmd.command("list").description("List configured MCP servers").action(async () => {
|
|
3500
|
-
const { mcpList } = await Promise.resolve().then(() => require("./mcp-
|
|
3506
|
+
const { mcpList } = await Promise.resolve().then(() => require("./mcp-SsMEvl28.js"));
|
|
3501
3507
|
await mcpList();
|
|
3502
3508
|
process.exit(0);
|
|
3503
3509
|
});
|
|
3504
3510
|
mcpCmd.command("add").description("Add MCP server").action(async () => {
|
|
3505
|
-
const { mcpAdd } = await Promise.resolve().then(() => require("./mcp-
|
|
3511
|
+
const { mcpAdd } = await Promise.resolve().then(() => require("./mcp-SsMEvl28.js"));
|
|
3506
3512
|
await mcpAdd();
|
|
3507
3513
|
process.exit(0);
|
|
3508
3514
|
});
|
|
3509
3515
|
mcpCmd.command("remove <id>").description("Remove MCP server").action(async (id) => {
|
|
3510
|
-
const { mcpRemove } = await Promise.resolve().then(() => require("./mcp-
|
|
3516
|
+
const { mcpRemove } = await Promise.resolve().then(() => require("./mcp-SsMEvl28.js"));
|
|
3511
3517
|
await mcpRemove(id);
|
|
3512
3518
|
process.exit(0);
|
|
3513
3519
|
});
|
|
3514
3520
|
mcpCmd.command("probe [id]").description("Test MCP server connection").action(async (id) => {
|
|
3515
|
-
const { mcpProbe } = await Promise.resolve().then(() => require("./mcp-
|
|
3521
|
+
const { mcpProbe } = await Promise.resolve().then(() => require("./mcp-SsMEvl28.js"));
|
|
3516
3522
|
await mcpProbe(id);
|
|
3517
3523
|
process.exit(0);
|
|
3518
3524
|
});
|
|
3519
3525
|
const nodeCmd = program.command("node").description("HyperClaw node management (local, remote, android)");
|
|
3520
3526
|
nodeCmd.command("list").description("List paired nodes").action(async () => {
|
|
3521
|
-
const { nodeList } = await Promise.resolve().then(() => require("./node-
|
|
3527
|
+
const { nodeList } = await Promise.resolve().then(() => require("./node-C4esBfbX.js"));
|
|
3522
3528
|
await nodeList();
|
|
3523
3529
|
process.exit(0);
|
|
3524
3530
|
});
|
|
3525
3531
|
nodeCmd.command("add").description("Add or pair a node").action(async () => {
|
|
3526
|
-
const { nodeAdd } = await Promise.resolve().then(() => require("./node-
|
|
3532
|
+
const { nodeAdd } = await Promise.resolve().then(() => require("./node-C4esBfbX.js"));
|
|
3527
3533
|
await nodeAdd();
|
|
3528
3534
|
process.exit(0);
|
|
3529
3535
|
});
|
|
3530
3536
|
nodeCmd.command("probe [id]").description("Probe node connection").action(async (id) => {
|
|
3531
|
-
const { nodeProbe } = await Promise.resolve().then(() => require("./node-
|
|
3537
|
+
const { nodeProbe } = await Promise.resolve().then(() => require("./node-C4esBfbX.js"));
|
|
3532
3538
|
await nodeProbe(id);
|
|
3533
3539
|
process.exit(0);
|
|
3534
3540
|
});
|
|
3535
3541
|
nodeCmd.command("remove <id>").description("Remove paired node").action(async (id) => {
|
|
3536
|
-
const { nodeRemove } = await Promise.resolve().then(() => require("./node-
|
|
3542
|
+
const { nodeRemove } = await Promise.resolve().then(() => require("./node-C4esBfbX.js"));
|
|
3537
3543
|
await nodeRemove(id);
|
|
3538
3544
|
process.exit(0);
|
|
3539
3545
|
});
|
|
3540
3546
|
const arCmd = program.command("auto-reply").description("Auto-reply rule engine");
|
|
3541
3547
|
arCmd.command("list").action(async () => {
|
|
3542
|
-
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-
|
|
3548
|
+
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-Cqen1Mpt.js"));
|
|
3543
3549
|
const e = new AutoReplyEngine();
|
|
3544
3550
|
await e.load();
|
|
3545
3551
|
e.showList();
|
|
3546
3552
|
process.exit(0);
|
|
3547
3553
|
});
|
|
3548
3554
|
arCmd.command("toggle <id>").action(async (id) => {
|
|
3549
|
-
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-
|
|
3555
|
+
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-Cqen1Mpt.js"));
|
|
3550
3556
|
const e = new AutoReplyEngine();
|
|
3551
3557
|
await e.toggle(id);
|
|
3552
3558
|
process.exit(0);
|
|
3553
3559
|
});
|
|
3554
3560
|
arCmd.command("remove <id>").action(async (id) => {
|
|
3555
|
-
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-
|
|
3561
|
+
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-Cqen1Mpt.js"));
|
|
3556
3562
|
const e = new AutoReplyEngine();
|
|
3557
3563
|
await e.remove(id);
|
|
3558
3564
|
process.exit(0);
|
|
@@ -3561,7 +3567,7 @@ const gmailCmd = program.command("gmail").description("Gmail Pub/Sub real-time n
|
|
|
3561
3567
|
gmailCmd.command("watch-setup").description("Register Gmail watch for push notifications. Requires: hyperclaw auth oauth google-gmail").requiredOption("-t, --topic <name>", "Pub/Sub topic (e.g. projects/myproject/topics/gmail-push)").option("-l, --labels <ids>", "Label IDs to watch (comma-separated)", "INBOX").action(async (opts) => {
|
|
3562
3568
|
const chalk$11 = require("chalk");
|
|
3563
3569
|
try {
|
|
3564
|
-
const { setupGmailWatch } = await Promise.resolve().then(() => require("./gmail-watch-setup-
|
|
3570
|
+
const { setupGmailWatch } = await Promise.resolve().then(() => require("./gmail-watch-setup-1RGIHNdu.js"));
|
|
3565
3571
|
const labelIds = opts.labels.split(",").map((s) => s.trim()).filter(Boolean);
|
|
3566
3572
|
const result = await setupGmailWatch({
|
|
3567
3573
|
topicName: opts.topic,
|
|
@@ -3581,7 +3587,7 @@ gmailCmd.command("watch-setup").description("Register Gmail watch for push notif
|
|
|
3581
3587
|
const cronCmd = program.command("cron").description("Scheduled tasks (cron → agent prompt)");
|
|
3582
3588
|
cronCmd.command("list").action(async () => {
|
|
3583
3589
|
const chalk$11 = require("chalk");
|
|
3584
|
-
const { loadCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-
|
|
3590
|
+
const { loadCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-OQbgmenS.js"));
|
|
3585
3591
|
const tasks = await loadCronTasks();
|
|
3586
3592
|
console.log(chalk$11.bold.cyan("\n ⏰ CRON TASKS\n"));
|
|
3587
3593
|
if (tasks.length === 0) {
|
|
@@ -3601,7 +3607,7 @@ cronCmd.command("list").action(async () => {
|
|
|
3601
3607
|
});
|
|
3602
3608
|
cronCmd.command("add").arguments("<schedule> <prompt>").option("-n, --name <name>", "Task name").action(async (schedule, prompt, opts) => {
|
|
3603
3609
|
const chalk$11 = require("chalk");
|
|
3604
|
-
const { loadCronTasks, addCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-
|
|
3610
|
+
const { loadCronTasks, addCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-OQbgmenS.js"));
|
|
3605
3611
|
await loadCronTasks();
|
|
3606
3612
|
addCronTask(schedule, prompt, opts.name);
|
|
3607
3613
|
await saveCronTasks();
|
|
@@ -3611,7 +3617,7 @@ cronCmd.command("add").arguments("<schedule> <prompt>").option("-n, --name <name
|
|
|
3611
3617
|
});
|
|
3612
3618
|
cronCmd.command("remove <id>").action(async (id) => {
|
|
3613
3619
|
const chalk$11 = require("chalk");
|
|
3614
|
-
const { loadCronTasks, removeCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-
|
|
3620
|
+
const { loadCronTasks, removeCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-OQbgmenS.js"));
|
|
3615
3621
|
await loadCronTasks();
|
|
3616
3622
|
if (removeCronTask(id)) {
|
|
3617
3623
|
await saveCronTasks();
|
|
@@ -3671,20 +3677,20 @@ program.command("nodes").description("List connected mobile nodes (iOS/Android C
|
|
|
3671
3677
|
});
|
|
3672
3678
|
const whCmd = program.command("webhooks").description("Webhook endpoint management");
|
|
3673
3679
|
whCmd.command("list").action(async () => {
|
|
3674
|
-
const { WebhookManager } = await Promise.resolve().then(() => require("./manager
|
|
3680
|
+
const { WebhookManager } = await Promise.resolve().then(() => require("./manager--wG9JdFW.js"));
|
|
3675
3681
|
const m = new WebhookManager();
|
|
3676
3682
|
await m.load();
|
|
3677
3683
|
m.showList();
|
|
3678
3684
|
process.exit(0);
|
|
3679
3685
|
});
|
|
3680
3686
|
whCmd.command("remove <id>").action(async (id) => {
|
|
3681
|
-
const { WebhookManager } = await Promise.resolve().then(() => require("./manager
|
|
3687
|
+
const { WebhookManager } = await Promise.resolve().then(() => require("./manager--wG9JdFW.js"));
|
|
3682
3688
|
const m = new WebhookManager();
|
|
3683
3689
|
await m.remove(id);
|
|
3684
3690
|
process.exit(0);
|
|
3685
3691
|
});
|
|
3686
3692
|
whCmd.command("toggle <id>").action(async (id) => {
|
|
3687
|
-
const { WebhookManager } = await Promise.resolve().then(() => require("./manager
|
|
3693
|
+
const { WebhookManager } = await Promise.resolve().then(() => require("./manager--wG9JdFW.js"));
|
|
3688
3694
|
const m = new WebhookManager();
|
|
3689
3695
|
await m.toggle(id);
|
|
3690
3696
|
process.exit(0);
|
|
@@ -3693,7 +3699,7 @@ const logsCmd = program.command("logs").description("View gateway logs");
|
|
|
3693
3699
|
logsCmd.option("-n, --lines <n>", "Number of lines to show", "50");
|
|
3694
3700
|
logsCmd.option("-f, --follow", "Stream logs in real time");
|
|
3695
3701
|
logsCmd.action(async (opts) => {
|
|
3696
|
-
const { tailLog, streamLog } = await Promise.resolve().then(() => require("./logger-
|
|
3702
|
+
const { tailLog, streamLog } = await Promise.resolve().then(() => require("./logger-CG38Idq4.js"));
|
|
3697
3703
|
if (opts.follow) await streamLog();
|
|
3698
3704
|
else {
|
|
3699
3705
|
await tailLog(parseInt(opts.lines));
|
|
@@ -3701,7 +3707,7 @@ logsCmd.action(async (opts) => {
|
|
|
3701
3707
|
}
|
|
3702
3708
|
});
|
|
3703
3709
|
program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
|
|
3704
|
-
const { startGateway } = await Promise.resolve().then(() => require("./server-
|
|
3710
|
+
const { startGateway } = await Promise.resolve().then(() => require("./server-B9rMYJwV.js"));
|
|
3705
3711
|
await startGateway();
|
|
3706
3712
|
process.on("SIGINT", () => process.exit(0));
|
|
3707
3713
|
process.on("SIGTERM", () => process.exit(0));
|
|
@@ -3758,9 +3764,9 @@ const authCmd = program.command("auth").description("OAuth and provider credenti
|
|
|
3758
3764
|
authCmd.command("add <service_id>").description("Add API key for a service (any provider we do not ship). Stored in credentials/ and .env.").option("--key <api_key>", "API key (prompts if omitted)").option("--base-url <url>", "Base URL (optional, e.g. https://api.example.com)").option("--env-var <name>", "Env var name (default: <SERVICE_ID>_API_KEY)").action(async (serviceId, opts) => {
|
|
3759
3765
|
const chalk$11 = require("chalk");
|
|
3760
3766
|
const inquirer$2 = require("inquirer");
|
|
3761
|
-
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-
|
|
3767
|
+
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-Bmm9e1SS.js"));
|
|
3762
3768
|
const { getHyperClawDir: getHyperClawDir$1, getEnvFilePath } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
3763
|
-
const { getApiKeyGuide, GENERIC_API_KEY_STEPS } = await Promise.resolve().then(() => require("./api-keys-guide
|
|
3769
|
+
const { getApiKeyGuide, GENERIC_API_KEY_STEPS } = await Promise.resolve().then(() => require("./api-keys-guide--73Bq0Ey.js"));
|
|
3764
3770
|
const fs$7 = await import("fs-extra");
|
|
3765
3771
|
const path$5 = await import("path");
|
|
3766
3772
|
const guide = getApiKeyGuide(serviceId);
|
|
@@ -3813,7 +3819,7 @@ authCmd.command("add <service_id>").description("Add API key for a service (any
|
|
|
3813
3819
|
});
|
|
3814
3820
|
authCmd.command("remove <service_id>").description("Remove API key for a service from credentials and .env").action(async (serviceId) => {
|
|
3815
3821
|
const chalk$11 = require("chalk");
|
|
3816
|
-
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-
|
|
3822
|
+
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-Bmm9e1SS.js"));
|
|
3817
3823
|
const { getHyperClawDir: getHyperClawDir$1, getEnvFilePath } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
3818
3824
|
const fs$7 = await import("fs-extra");
|
|
3819
3825
|
const safeId = serviceId.replace(/[^a-zA-Z0-9_-]/g, "_").toLowerCase();
|
|
@@ -3833,7 +3839,7 @@ authCmd.command("oauth <provider>").description("Run full OAuth flow. Providers:
|
|
|
3833
3839
|
const chalk$11 = require("chalk");
|
|
3834
3840
|
const ora$4 = (await import("ora")).default;
|
|
3835
3841
|
try {
|
|
3836
|
-
const { runOAuthFlow } = await Promise.resolve().then(() => require("./oauth-flow-
|
|
3842
|
+
const { runOAuthFlow } = await Promise.resolve().then(() => require("./oauth-flow-BbLQTzZk.js"));
|
|
3837
3843
|
const spinner = ora$4("Starting OAuth flow...").start();
|
|
3838
3844
|
spinner.text = "Opening browser — complete the consent and return here.";
|
|
3839
3845
|
const tokens = await runOAuthFlow(provider, {
|
|
@@ -3841,7 +3847,7 @@ authCmd.command("oauth <provider>").description("Run full OAuth flow. Providers:
|
|
|
3841
3847
|
clientSecret: opts.clientSecret
|
|
3842
3848
|
});
|
|
3843
3849
|
spinner.stop();
|
|
3844
|
-
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-
|
|
3850
|
+
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-UZyG84s7.js"));
|
|
3845
3851
|
const now = Math.floor(Date.now() / 1e3);
|
|
3846
3852
|
const expires_at = tokens.expires_in ? now + tokens.expires_in : void 0;
|
|
3847
3853
|
const tokenUrl = provider === "google" || provider === "google-gmail" ? "https://oauth2.googleapis.com/token" : provider === "microsoft" ? "https://login.microsoftonline.com/common/oauth2/v2.0/token" : void 0;
|
|
@@ -3876,7 +3882,7 @@ authCmd.command("setup-token <provider>").description("Save setup token (Anthrop
|
|
|
3876
3882
|
console.log(chalk$11.red("\n ✖ No token provided.\n"));
|
|
3877
3883
|
process.exit(1);
|
|
3878
3884
|
}
|
|
3879
|
-
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-
|
|
3885
|
+
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-UZyG84s7.js"));
|
|
3880
3886
|
await writeOAuthToken("anthropic-setup", {
|
|
3881
3887
|
access_token: token.trim(),
|
|
3882
3888
|
token_url: "https://api.anthropic.com"
|
|
@@ -3887,7 +3893,7 @@ authCmd.command("setup-token <provider>").description("Save setup token (Anthrop
|
|
|
3887
3893
|
});
|
|
3888
3894
|
authCmd.command("oauth-set <provider>").description("Save OAuth tokens manually (access_token, refresh_token, etc.) to ~/.hyperclaw/oauth-<provider>.json").option("--token <access_token>", "Access token").option("--refresh <refresh_token>", "Refresh token (optional)").option("--expires-in <seconds>", "Token lifetime in seconds (optional)").option("--token-url <url>", "Refresh endpoint URL (optional)").action(async (provider, opts) => {
|
|
3889
3895
|
const chalk$11 = require("chalk");
|
|
3890
|
-
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-
|
|
3896
|
+
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-UZyG84s7.js"));
|
|
3891
3897
|
const access_token = opts.token || process.env.OAUTH_ACCESS_TOKEN;
|
|
3892
3898
|
if (!access_token) {
|
|
3893
3899
|
console.log(chalk$11.red("\n ✖ Provide --token <access_token> or set OAUTH_ACCESS_TOKEN\n"));
|
|
@@ -3915,7 +3921,7 @@ workspaceCmd.command("init [dir]").description("Initialize workspace files (SOUL
|
|
|
3915
3921
|
try {
|
|
3916
3922
|
cfg = await fs$7.readJson(getConfigPath$1());
|
|
3917
3923
|
} catch {}
|
|
3918
|
-
const { initWorkspaceFiles } = await Promise.resolve().then(() => require("./memory-
|
|
3924
|
+
const { initWorkspaceFiles } = await Promise.resolve().then(() => require("./memory-BGgCBSx1.js"));
|
|
3919
3925
|
await initWorkspaceFiles({
|
|
3920
3926
|
agentName: cfg.identity?.agentName || "Hyper",
|
|
3921
3927
|
personality: cfg.identity?.personality || "helpful and concise",
|
|
@@ -3954,13 +3960,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
|
|
|
3954
3960
|
});
|
|
3955
3961
|
const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
|
|
3956
3962
|
botCmd.command("status").action(async () => {
|
|
3957
|
-
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3963
|
+
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-CZ4DjvO-.js"));
|
|
3958
3964
|
await showBotStatus();
|
|
3959
3965
|
process.exit(0);
|
|
3960
3966
|
});
|
|
3961
3967
|
botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
|
|
3962
3968
|
const inquirer$2 = require("inquirer");
|
|
3963
|
-
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3969
|
+
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-CZ4DjvO-.js"));
|
|
3964
3970
|
const chalk$11 = require("chalk");
|
|
3965
3971
|
console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
|
|
3966
3972
|
console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
|
|
@@ -4022,14 +4028,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4022
4028
|
cwd: process.cwd()
|
|
4023
4029
|
});
|
|
4024
4030
|
child.unref();
|
|
4025
|
-
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4031
|
+
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-CZ4DjvO-.js"));
|
|
4026
4032
|
await writeBotPid(child.pid);
|
|
4027
4033
|
console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
|
|
4028
4034
|
console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
|
|
4029
4035
|
process.exit(0);
|
|
4030
4036
|
return;
|
|
4031
4037
|
}
|
|
4032
|
-
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4038
|
+
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-CZ4DjvO-.js"));
|
|
4033
4039
|
const cfg = await loadBotConfig();
|
|
4034
4040
|
if (!cfg) {
|
|
4035
4041
|
console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
|
|
@@ -4056,41 +4062,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
4056
4062
|
});
|
|
4057
4063
|
botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
|
|
4058
4064
|
const chalk$11 = require("chalk");
|
|
4059
|
-
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
4065
|
+
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-CZ4DjvO-.js"));
|
|
4060
4066
|
const stopped = await stopBotProcess();
|
|
4061
4067
|
if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
|
|
4062
4068
|
else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
|
|
4063
4069
|
process.exit(stopped ? 0 : 1);
|
|
4064
4070
|
});
|
|
4065
4071
|
memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
|
|
4066
|
-
const { searchMemory } = await Promise.resolve().then(() => require("./src-
|
|
4072
|
+
const { searchMemory } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4067
4073
|
await searchMemory(query);
|
|
4068
4074
|
process.exit(0);
|
|
4069
4075
|
});
|
|
4070
4076
|
memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
|
|
4071
|
-
const { showMemory } = await Promise.resolve().then(() => require("./src-
|
|
4077
|
+
const { showMemory } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4072
4078
|
await showMemory();
|
|
4073
4079
|
process.exit(0);
|
|
4074
4080
|
});
|
|
4075
4081
|
memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
|
|
4076
|
-
const { clearMemory } = await Promise.resolve().then(() => require("./src-
|
|
4082
|
+
const { clearMemory } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4077
4083
|
await clearMemory();
|
|
4078
4084
|
process.exit(0);
|
|
4079
4085
|
});
|
|
4080
4086
|
memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
|
|
4081
|
-
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-
|
|
4087
|
+
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4082
4088
|
await saveMemoryDirect(text);
|
|
4083
4089
|
console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
|
|
4084
4090
|
process.exit(0);
|
|
4085
4091
|
});
|
|
4086
4092
|
const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
|
|
4087
4093
|
pcCmd.command("status").description("Show PC access status and config").action(async () => {
|
|
4088
|
-
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-
|
|
4094
|
+
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4089
4095
|
await showPCAccessStatus();
|
|
4090
4096
|
process.exit(0);
|
|
4091
4097
|
});
|
|
4092
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) => {
|
|
4093
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4099
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4094
4100
|
const level = opts.level;
|
|
4095
4101
|
const allowed = [
|
|
4096
4102
|
"read-only",
|
|
@@ -4117,7 +4123,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
|
|
|
4117
4123
|
process.exit(0);
|
|
4118
4124
|
});
|
|
4119
4125
|
pcCmd.command("disable").description("Disable PC access").action(async () => {
|
|
4120
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
4126
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4121
4127
|
await savePCAccessConfig({ enabled: false });
|
|
4122
4128
|
console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
|
|
4123
4129
|
process.exit(0);
|
|
@@ -4142,7 +4148,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
|
|
|
4142
4148
|
process.exit(0);
|
|
4143
4149
|
});
|
|
4144
4150
|
pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
|
|
4145
|
-
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-
|
|
4151
|
+
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-cowbRb9x.js"));
|
|
4146
4152
|
const cfg = await loadPCAccessConfig();
|
|
4147
4153
|
if (!cfg.enabled) {
|
|
4148
4154
|
console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
|
|
@@ -4156,7 +4162,7 @@ pcCmd.command("run <command>").description("Run a shell command via PC access (m
|
|
|
4156
4162
|
process.exit(0);
|
|
4157
4163
|
});
|
|
4158
4164
|
program.command("setup").description("Setup wizard — alias for `hyperclaw onboard`").option("--install-daemon", "Auto-install system daemon").option("--reset", "Reset config before running wizard").option("--non-interactive", "Non-interactive mode").option("--json", "Output result as JSON (use with --non-interactive)").option("--anthropic-api-key <key>", "Anthropic API key (non-interactive)").option("--openai-api-key <key>", "OpenAI API key (non-interactive)").option("--gateway-port <port>", "Gateway port (non-interactive)", "18789").option("--gateway-bind <bind>", "Gateway bind: loopback | all", "loopback").action(async (opts) => {
|
|
4159
|
-
await new
|
|
4165
|
+
await new require_banner.Banner().showNeonBanner(false);
|
|
4160
4166
|
const wizardOpts = {
|
|
4161
4167
|
wizard: true,
|
|
4162
4168
|
installDaemon: opts.installDaemon ?? false,
|
|
@@ -4173,7 +4179,7 @@ program.command("setup").description("Setup wizard — alias for `hyperclaw onbo
|
|
|
4173
4179
|
});
|
|
4174
4180
|
async function runUpdateCheck() {
|
|
4175
4181
|
try {
|
|
4176
|
-
const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-
|
|
4182
|
+
const { checkForUpdates: checkForUpdates$1, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-C4te7JmY.js"));
|
|
4177
4183
|
const path$5 = require("path");
|
|
4178
4184
|
const { readFileSync } = require("fs");
|
|
4179
4185
|
const pkgPath = path$5.resolve(__dirname, "../package.json");
|
|
@@ -4183,10 +4189,10 @@ async function runUpdateCheck() {
|
|
|
4183
4189
|
} catch {}
|
|
4184
4190
|
}
|
|
4185
4191
|
if (process.argv.length === 2) (async () => {
|
|
4186
|
-
const { ConfigManager: ConfigManager$1 } = await Promise.resolve().then(() => require("./manager-
|
|
4192
|
+
const { ConfigManager: ConfigManager$1 } = await Promise.resolve().then(() => require("./manager-BNc21xgG.js"));
|
|
4187
4193
|
const cfg = await new ConfigManager$1().load().catch(() => null);
|
|
4188
4194
|
if (cfg?.provider?.apiKey || cfg?.provider?.providerId) {
|
|
4189
|
-
await new
|
|
4195
|
+
await new require_banner.Banner().showNeonBanner(false);
|
|
4190
4196
|
const { getTheme } = await Promise.resolve().then(() => require("./theme-DdZT-Bq4.js"));
|
|
4191
4197
|
const t = getTheme(false);
|
|
4192
4198
|
const chalk$11 = require("chalk");
|
|
@@ -4199,8 +4205,8 @@ if (process.argv.length === 2) (async () => {
|
|
|
4199
4205
|
console.log(` ${t.c("hyperclaw doctor")} — health check & fix issues`);
|
|
4200
4206
|
console.log(` ${t.c("hyperclaw --help")} — all commands\n`);
|
|
4201
4207
|
} else {
|
|
4202
|
-
await new
|
|
4203
|
-
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-
|
|
4208
|
+
await new require_banner.Banner().showNeonBanner(false);
|
|
4209
|
+
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-CSJuvkMN.js"));
|
|
4204
4210
|
await new HyperClawWizard$1().run({ wizard: true });
|
|
4205
4211
|
}
|
|
4206
4212
|
await runUpdateCheck();
|