hyperclaw 5.0.0 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +2 -1
- package/README.md +449 -99
- package/dist/a2ui-protocol-Gzm29Gaw.js +75 -0
- package/dist/agents-routing-Biy5ew4a.js +4 -0
- package/dist/agents-routing-CL3HQNoM.js +327 -0
- package/dist/api-keys-guide-CGn5BSF7.js +149 -0
- package/dist/api-keys-guide-ChbThbPj.js +149 -0
- package/dist/audit-BJohI_vC.js +441 -0
- package/dist/audit-NPIMmOSq.js +441 -0
- package/dist/bounty-tools-BUqUKjt0.js +211 -0
- package/dist/bounty-tools-CY_i91DU.js +211 -0
- package/dist/browser-tools-CxJY6pAn.js +5 -0
- package/dist/browser-tools-JZ9ji6AW.js +179 -0
- package/dist/chat-qVuqhlPu.js +258 -0
- package/dist/claw-tasks-B-8RRMdq.js +80 -0
- package/dist/claw-tasks-Cyzdbhz_.js +80 -0
- package/dist/connector-1x1rCBHz.js +162 -0
- package/dist/connector-B4jeCULG.js +305 -0
- package/dist/connector-B7qngfkT.js +286 -0
- package/dist/connector-B8BK0GBo.js +531 -0
- package/dist/connector-BE9eJs8-.js +182 -0
- package/dist/connector-BEe-DTGQ.js +189 -0
- package/dist/connector-BU7p5ZgB.js +167 -0
- package/dist/connector-BUzzq7Ij.js +568 -0
- package/dist/connector-BpDqLgnW.js +419 -0
- package/dist/connector-BpW88ut2.js +189 -0
- package/dist/connector-Bxv-gy8U.js +167 -0
- package/dist/connector-Bz14zcJv.js +213 -0
- package/dist/connector-C1zP5-5q.js +85 -0
- package/dist/connector-CAcpcovF.js +498 -0
- package/dist/connector-CJgVjS58.js +181 -0
- package/dist/connector-Cf53D6qV.js +425 -0
- package/dist/connector-CyHmlbNz.js +508 -0
- package/dist/connector-D22mJGVu.js +340 -0
- package/dist/connector-D6RtMmlL.js +225 -0
- package/dist/connector-D9EnT8A4.js +280 -0
- package/dist/connector-DNDwIh37.js +239 -0
- package/dist/connector-Di27MeO4.js +350 -0
- package/dist/connector-Do0BPiHt.js +194 -0
- package/dist/connector-DvLwOfJy.js +192 -0
- package/dist/connector-DvU83NSq.js +181 -0
- package/dist/connector-DxskpDc_.js +173 -0
- package/dist/connector-byy3eISx.js +552 -0
- package/dist/connector-vV89hsyd.js +218 -0
- package/dist/cost-tracker-Ca1UPZ33.js +103 -0
- package/dist/cost-tracker-fnaj_6M9.js +103 -0
- package/dist/credentials-store-BxijEirw.js +77 -0
- package/dist/credentials-store-CA8UtK0T.js +77 -0
- package/dist/credentials-store-CPkVO6-z.js +4 -0
- package/dist/credentials-store-Cm7DH-kh.js +4 -0
- package/dist/cron-tasks-L0mz1yyU.js +82 -0
- package/dist/cron-tasks-_pqQCmxc.js +82 -0
- package/dist/daemon-7ViroziB.js +5 -0
- package/dist/daemon-BfyKmZhr.js +318 -0
- package/dist/daemon-CNyunwkR.js +5 -0
- package/dist/daemon-CindY8OK.js +318 -0
- package/dist/delivery-DVHmv1IR.js +4 -0
- package/dist/delivery-DgiZcJBp.js +4 -0
- package/dist/delivery-DpMX0Yyc.js +95 -0
- package/dist/delivery-otAU4alM.js +95 -0
- package/dist/destructive-gate-CA0DtA5K.js +101 -0
- package/dist/destructive-gate-DZt71UZR.js +101 -0
- package/dist/developer-keys-Cnd1kswV.js +127 -0
- package/dist/developer-keys-DENo3ZA6.js +8 -0
- package/dist/doctor-Dgjoc3DG.js +230 -0
- package/dist/doctor-RwsOhtAl.js +6 -0
- package/dist/engine-B0kLfRL0.js +256 -0
- package/dist/engine-BJUpRUOv.js +7 -0
- package/dist/engine-D_VeoZHw.js +305 -0
- package/dist/engine-JjRnhlsE.js +7 -0
- package/dist/env-resolve-17ekEU6p.js +10 -0
- package/dist/env-resolve-BFJXWl94.js +115 -0
- package/dist/env-resolve-Z2XF6leB.js +115 -0
- package/dist/env-resolve-bDYssfih.js +10 -0
- package/dist/extraction-tools-DbxnxIco.js +5 -0
- package/dist/extraction-tools-Dg7AHS35.js +91 -0
- package/dist/form_data-CGAy4HE0.js +8657 -0
- package/dist/gmail-watch-setup-C3uSWznp.js +40 -0
- package/dist/health-DUjluWHQ.js +6 -0
- package/dist/health-DVfkpUQW.js +152 -0
- package/dist/heartbeat-engine-CrgL4mrP.js +83 -0
- package/dist/heartbeat-engine-Ut6pXBD6.js +83 -0
- package/dist/hub-9LaKnLjY.js +6 -0
- package/dist/hub-BO6bj8Yj.js +515 -0
- package/dist/hub-Bu52YZqW.js +6 -0
- package/dist/hub-CfwUz9YW.js +515 -0
- package/dist/hyperclawbot-BrcoYLOp.js +505 -0
- package/dist/hyperclawbot-CBiDSKsa.js +505 -0
- package/dist/inference-0mlFQqIm.js +922 -0
- package/dist/inference-DHR82Gh7.js +6 -0
- package/dist/inference-DhA8jpfH.js +2692 -0
- package/dist/inference-SzqFe_nk.js +6 -0
- package/dist/knowledge-graph-BrYpSgxW.js +131 -0
- package/dist/knowledge-graph-DE5lSF02.js +131 -0
- package/dist/loader-9JqY6Nlq.js +4 -0
- package/dist/loader-BkDi8MD9.js +400 -0
- package/dist/loader-Cjdd1kw4.js +400 -0
- package/dist/loader-DI2qDRPC.js +4 -0
- package/dist/logger-Cp8wC7F8.js +83 -0
- package/dist/logger-DCT2l9GV.js +83 -0
- package/dist/manager-3cq3DydI.js +4 -0
- package/dist/manager-B2Gls5RG.js +218 -0
- package/dist/manager-BUrFrPuq.js +117 -0
- package/dist/manager-Bi9UYyVR.js +105 -0
- package/dist/manager-Biz9ixWJ.js +40 -0
- package/dist/manager-CBUHJiY7.js +6 -0
- package/dist/manager-CVLLaKmq.js +218 -0
- package/dist/manager-CWNSML5D.js +117 -0
- package/dist/manager-SJe9gt-q.js +4 -0
- package/dist/mcp-CUoTCMw-.js +139 -0
- package/dist/mcp-loader-BIz-450x.js +94 -0
- package/dist/mcp-loader-CvxRDtPC.js +94 -0
- package/dist/memory-OL77OMOr.js +270 -0
- package/dist/memory-auto-CpQHZlEJ.js +306 -0
- package/dist/memory-auto-D-L2q21G.js +306 -0
- package/dist/memory-auto-DTcy5VBy.js +5 -0
- package/dist/memory-auto-Z6LCf-iK.js +5 -0
- package/dist/memory-gUi4VaIf.js +4 -0
- package/dist/memory-integration-B8RSN4pr.js +91 -0
- package/dist/memory-integration-g2vxwgoE.js +91 -0
- package/dist/moltbook-B-40gQOL.js +81 -0
- package/dist/moltbook-Cl8cQfxJ.js +81 -0
- package/dist/node-TWxRm84k.js +222 -0
- package/dist/nodes-registry-C9dCFwjh.js +52 -0
- package/dist/nodes-registry-DKRtsbNg.js +52 -0
- package/dist/oauth-flow-CeaaGAz0.js +150 -0
- package/dist/oauth-flow-JCfporKq.js +150 -0
- package/dist/oauth-provider-4R0EJlsT.js +110 -0
- package/dist/oauth-provider-B4dzn56l.js +110 -0
- package/dist/observability-CDZmeHfa.js +89 -0
- package/dist/observability-nZ3CBIxG.js +89 -0
- package/dist/onboard-BBBWcfhp.js +10 -0
- package/dist/onboard-BVOtKQdh.js +3641 -0
- package/dist/onboard-Bw28IRQ3.js +4070 -0
- package/dist/onboard-CGNIw27w.js +11 -0
- package/dist/orchestrator-BovkM63z.js +6 -0
- package/dist/orchestrator-CcKx1Ovk.js +189 -0
- package/dist/orchestrator-DSbpkP1X.js +189 -0
- package/dist/orchestrator-DcFfDLTX.js +6 -0
- package/dist/osint-B4_m3VHQ.js +277 -0
- package/dist/osint-B6BZKQAD.js +277 -0
- package/dist/pairing-B6RArWhD.js +196 -0
- package/dist/pairing-BsQ08DLq.js +4 -0
- package/dist/pc-access-B0KocJNe.js +819 -0
- package/dist/pc-access-DkzmugZ7.js +8 -0
- package/dist/pending-approval-BgNjjuI2.js +22 -0
- package/dist/pending-approval-C_HkX1QL.js +22 -0
- package/dist/providers-DxiamZSL.js +5 -0
- package/dist/providers-Dy15rDb7.js +657 -0
- package/dist/reminders-store-CzUY0zYx.js +58 -0
- package/dist/renderer-ANNfXsHn.js +225 -0
- package/dist/rules-BSQwwAYC.js +103 -0
- package/dist/run-main.js +142 -132
- package/dist/runner-BHRSOPEU.js +1271 -0
- package/dist/runner-CJFJUtPm.js +1271 -0
- package/dist/sdk/index.js +2 -2
- package/dist/sdk/index.mjs +2 -2
- package/dist/security--oQObeJO.js +4 -0
- package/dist/security-wBOg0TA8.js +73 -0
- package/dist/server-Brl_HQUB.js +1255 -0
- package/dist/server-CbTTpB5m.js +1255 -0
- package/dist/server-DP_bPzvI.js +4 -0
- package/dist/server-DhfipkwN.js +4 -0
- package/dist/session-store-B09r5HgB.js +5 -0
- package/dist/session-store-DCTQIVur.js +113 -0
- package/dist/sessions-tools-BdlN6Pb6.js +95 -0
- package/dist/sessions-tools-JVLDKSJ_.js +5 -0
- package/dist/skill-loader-B5oeliGu.js +7 -0
- package/dist/skill-loader-Wf3brNOj.js +160 -0
- package/dist/skill-runtime-BGlvly2s.js +102 -0
- package/dist/skill-runtime-BXWd-Ktf.js +102 -0
- package/dist/skill-runtime-DhL2T76p.js +5 -0
- package/dist/skill-runtime-jgklm02e.js +5 -0
- package/dist/src-BbPa6Q8p.js +63 -0
- package/dist/src-BeXtfkK2.js +458 -0
- package/dist/src-Bhybpk1J.js +63 -0
- package/dist/src-CGQjRI4N.js +20 -0
- package/dist/src-DMJ4-uqk.js +458 -0
- package/dist/sub-agent-tools-CmE345s_.js +39 -0
- package/dist/sub-agent-tools-DHY-4WWM.js +39 -0
- package/dist/theme-D0smfC_l.js +8 -0
- package/dist/theme-DajRRZbA.js +180 -0
- package/dist/tool-policy-DZvF8xlQ.js +189 -0
- package/dist/tool-policy-DgNqFWYn.js +189 -0
- package/dist/tts-elevenlabs-C06nUxMK.js +61 -0
- package/dist/tts-elevenlabs-JeFaGNJU.js +61 -0
- package/dist/update-check-BVEqHhFY.js +83 -0
- package/dist/update-check-w4XuxVl7.js +81 -0
- package/dist/vision-JOtOS1Br.js +121 -0
- package/dist/vision-fky3elEo.js +121 -0
- package/dist/vision-tools-C8B3776g.js +5 -0
- package/dist/vision-tools-CB28ZCO_.js +5 -0
- package/dist/vision-tools-dwn9p4el.js +51 -0
- package/dist/vision-tools-vPPwQ-0N.js +51 -0
- package/dist/voice-transcription-B6RtplmN.js +138 -0
- package/dist/voice-transcription-DBo5hXmu.js +138 -0
- package/dist/website-watch-tools-B-jRAeTe.js +139 -0
- package/dist/website-watch-tools-BC9xAL67.js +5 -0
- package/package.json +1 -1
package/dist/run-main.js
CHANGED
|
@@ -1,22 +1,23 @@
|
|
|
1
1
|
const require_chunk = require('./chunk-jS-bbMI5.js');
|
|
2
2
|
require('./paths-AIyBxIzm.js');
|
|
3
3
|
require('./paths-DPovhojT.js');
|
|
4
|
-
require('./env-resolve-
|
|
5
|
-
const require_onboard = require('./onboard-
|
|
6
|
-
require('./server-
|
|
7
|
-
const require_daemon = require('./daemon-
|
|
8
|
-
require('./
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const require_manager
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const
|
|
4
|
+
require('./env-resolve-BFJXWl94.js');
|
|
5
|
+
const require_onboard = require('./onboard-BVOtKQdh.js');
|
|
6
|
+
require('./server-CbTTpB5m.js');
|
|
7
|
+
const require_daemon = require('./daemon-CindY8OK.js');
|
|
8
|
+
require('./providers-Dy15rDb7.js');
|
|
9
|
+
require('./theme-DajRRZbA.js');
|
|
10
|
+
const require_hub = require('./hub-BO6bj8Yj.js');
|
|
11
|
+
const require_manager = require('./manager-Biz9ixWJ.js');
|
|
12
|
+
const require_manager$1 = require('./manager-Bi9UYyVR.js');
|
|
13
|
+
const require_memory = require('./memory-OL77OMOr.js');
|
|
14
|
+
const require_loader = require('./loader-Cjdd1kw4.js');
|
|
15
|
+
const require_agents_routing = require('./agents-routing-CL3HQNoM.js');
|
|
16
|
+
const require_pairing = require('./pairing-B6RArWhD.js');
|
|
17
|
+
const require_doctor = require('./doctor-Dgjoc3DG.js');
|
|
18
|
+
const require_health = require('./health-DVfkpUQW.js');
|
|
19
|
+
const require_security = require('./security-wBOg0TA8.js');
|
|
20
|
+
const require_developer_keys = require('./developer-keys-Cnd1kswV.js');
|
|
20
21
|
const commander = require_chunk.__toESM(require("commander"));
|
|
21
22
|
const chalk = require_chunk.__toESM(require("chalk"));
|
|
22
23
|
const inquirer = require_chunk.__toESM(require("inquirer"));
|
|
@@ -38,7 +39,7 @@ var Dashboard = class {
|
|
|
38
39
|
console.clear();
|
|
39
40
|
await this.drawDashboard();
|
|
40
41
|
if (live) {
|
|
41
|
-
console.log(chalk.default.hex("#06b6d4")("
|
|
42
|
+
console.log(chalk.default.hex("#06b6d4")("?? LIVE MODE � Ctrl+C to exit\n"));
|
|
42
43
|
this.startLiveUpdates();
|
|
43
44
|
}
|
|
44
45
|
}
|
|
@@ -53,44 +54,44 @@ var Dashboard = class {
|
|
|
53
54
|
const model = cfg?.provider?.modelId || "openrouter/auto";
|
|
54
55
|
const channels = (cfg?.channels ?? cfg?.gateway?.enabledChannels ?? ["cli"]).join(", ");
|
|
55
56
|
const isRunning = await gm.isRunning(port);
|
|
56
|
-
const statusDot = isRunning ? chalk.default.hex("#06b6d4")("
|
|
57
|
+
const statusDot = isRunning ? chalk.default.hex("#06b6d4")("?") : chalk.default.gray("0");
|
|
57
58
|
const statusText = isRunning ? chalk.default.hex("#06b6d4")("ONLINE") : chalk.default.gray("OFFLINE");
|
|
58
59
|
const w = 72;
|
|
59
|
-
const line = "
|
|
60
|
+
const line = "=".repeat(w);
|
|
60
61
|
const c = chalk.default.hex("#06b6d4");
|
|
61
62
|
const row = (content) => {
|
|
62
63
|
const stripped = content.replace(/\x1b\[[0-9;]*m/g, "");
|
|
63
64
|
const pad = Math.max(0, w - stripped.length - 1);
|
|
64
|
-
return c(
|
|
65
|
+
return c(`� `) + content + " ".repeat(pad) + c(`�`);
|
|
65
66
|
};
|
|
66
|
-
console.log(c(
|
|
67
|
-
console.log(c(
|
|
68
|
-
console.log(c(
|
|
69
|
-
console.log(row(`${statusDot} Gateway ${statusText} ${chalk.default.gray("
|
|
70
|
-
console.log(row(`${c("
|
|
71
|
-
console.log(c(
|
|
67
|
+
console.log(c(`-${line}�`));
|
|
68
|
+
console.log(c(`�`) + chalk.default.bold.hex("#06b6d4")(`${"?? HYPERCLAW v5.0.2 � GATEWAY DASHBOARD".padStart(45).padEnd(w)}`) + c(`�`));
|
|
69
|
+
console.log(c(`�${line}�`));
|
|
70
|
+
console.log(row(`${statusDot} Gateway ${statusText} ${chalk.default.gray("�")} ws://localhost:${port} ${chalk.default.gray("�")} Agent: ${c(agent)}`));
|
|
71
|
+
console.log(row(`${c("?")} Model ${chalk.default.gray(model.slice(0, 30))} ${chalk.default.gray("�")} User: ${c(user)}`));
|
|
72
|
+
console.log(c(`�${"-".repeat(w)}�`));
|
|
72
73
|
console.log(row(chalk.default.bold("ACTIVE CHANNELS")));
|
|
73
74
|
const chList = (channels || "cli").split(", ");
|
|
74
75
|
for (let i = 0; i < chList.length; i += 3) {
|
|
75
|
-
const group = chList.slice(i, i + 3).map((ch) => ` ${c("
|
|
76
|
+
const group = chList.slice(i, i + 3).map((ch) => ` ${c("?")} ${ch.padEnd(12)}`).join("");
|
|
76
77
|
console.log(row(group));
|
|
77
78
|
}
|
|
78
|
-
console.log(c(
|
|
79
|
+
console.log(c(`�${"-".repeat(w)}�`));
|
|
79
80
|
console.log(row(chalk.default.bold("INSTALLED SKILLS")));
|
|
80
81
|
if (installed.length === 0) console.log(row(chalk.default.gray(" No skills installed. Run: hyperclaw hub")));
|
|
81
82
|
else for (let i = 0; i < installed.length; i += 3) {
|
|
82
|
-
const group = installed.slice(i, i + 3).map((s) => ` ${c("
|
|
83
|
+
const group = installed.slice(i, i + 3).map((s) => ` ${c("?")} ${s.name.slice(0, 14).padEnd(14)}`).join("");
|
|
83
84
|
console.log(row(group));
|
|
84
85
|
}
|
|
85
|
-
console.log(c(
|
|
86
|
+
console.log(c(`�${"-".repeat(w)}�`));
|
|
86
87
|
console.log(row(chalk.default.bold("RECENT ACTIVITY")));
|
|
87
88
|
const now = (/* @__PURE__ */ new Date()).toLocaleTimeString();
|
|
88
89
|
console.log(row(` [${now}] Gateway heartbeat: ${c("OK")}`));
|
|
89
|
-
console.log(row(` [${now}] AGENTS.md loaded
|
|
90
|
+
console.log(row(` [${now}] AGENTS.md loaded � rules active`));
|
|
90
91
|
console.log(row(` [${now}] Channels monitoring...`));
|
|
91
|
-
console.log(c(
|
|
92
|
-
console.log(row(chalk.default.gray("Commands: [d] ") + chalk.default.red("
|
|
93
|
-
console.log(c(
|
|
92
|
+
console.log(c(`�${"-".repeat(w)}�`));
|
|
93
|
+
console.log(row(chalk.default.gray("Commands: [d] ") + chalk.default.red("?? daemon") + chalk.default.gray(" [h] hub [g] gateway [m] memory [q] quit")));
|
|
94
|
+
console.log(c(`L${line}-\n`));
|
|
94
95
|
}
|
|
95
96
|
startLiveUpdates() {
|
|
96
97
|
let tick = 0;
|
|
@@ -145,7 +146,7 @@ async function recordAudio(outFile, seconds) {
|
|
|
145
146
|
async function transcribeWhisper(filePath, lang) {
|
|
146
147
|
const apiKey = process.env.OPENAI_API_KEY || process.env.ANTHROPIC_API_KEY;
|
|
147
148
|
if (!apiKey) throw new Error("No OPENAI_API_KEY set");
|
|
148
|
-
const FormData = (await Promise.resolve().then(() => require_chunk.__toDynamicImportESM()(require("./form_data-
|
|
149
|
+
const FormData = (await Promise.resolve().then(() => require_chunk.__toDynamicImportESM()(require("./form_data-CGAy4HE0.js"))).catch(() => null))?.default;
|
|
149
150
|
if (!FormData) throw new Error("form-data not installed");
|
|
150
151
|
const form = new FormData();
|
|
151
152
|
form.append("file", fs.createReadStream(filePath), {
|
|
@@ -2426,7 +2427,7 @@ var init_queue = require_chunk.__esm({ "src/delivery/queue.ts"() {
|
|
|
2426
2427
|
//#endregion
|
|
2427
2428
|
//#region src/cli/run-main.ts
|
|
2428
2429
|
const program = new commander.Command();
|
|
2429
|
-
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.0.
|
|
2430
|
+
program.name("hyperclaw").description("⚡ HyperClaw — AI Gateway Platform. The Lobster Evolution 🦅").version("5.0.2").option("--profile <name>", "Use an isolated gateway profile. Auto-scopes HYPERCLAW_STATE_DIR and HYPERCLAW_CONFIG_PATH. Required for multi-gateway setups (rescue bot, staging, etc.). Example: hyperclaw --profile rescue gateway --port 19001").hook("preAction", (thisCommand) => {
|
|
2430
2431
|
const profile = thisCommand.opts().profile;
|
|
2431
2432
|
if (profile) {
|
|
2432
2433
|
const os$8 = require("os");
|
|
@@ -2568,8 +2569,8 @@ sandboxCmd.command("explain").description("Show effective sandbox mode, tool pol
|
|
|
2568
2569
|
} catch {}
|
|
2569
2570
|
const sandboxMode = cfg?.agents?.defaults?.sandbox?.mode ?? "non-main";
|
|
2570
2571
|
const toolsCfg = cfg?.tools ?? {};
|
|
2571
|
-
const { describeToolPolicy, applyToolPolicy } = await Promise.resolve().then(() => require("./tool-policy-
|
|
2572
|
-
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-
|
|
2572
|
+
const { describeToolPolicy, applyToolPolicy } = await Promise.resolve().then(() => require("./tool-policy-DgNqFWYn.js"));
|
|
2573
|
+
const { getBuiltinTools, getSessionsTools, getPCAccessTools, getBrowserTools, getExtractionTools, getWebsiteWatchTools, getVisionTools } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
2573
2574
|
const allTools = [
|
|
2574
2575
|
...getBuiltinTools(),
|
|
2575
2576
|
...getSessionsTools(() => null),
|
|
@@ -2912,7 +2913,7 @@ cfgCmd.command("set-service-key <serviceId> [apiKey]").description("Set API key
|
|
|
2912
2913
|
cfgCmd.command("schema").description("Show configuration schema").action(() => {
|
|
2913
2914
|
console.log(chalk.default.bold.hex("#06b6d4")("\n Config schema: ~/.hyperclaw/config.json\n"));
|
|
2914
2915
|
const schema = {
|
|
2915
|
-
version: "string (e.g. \"5.0.
|
|
2916
|
+
version: "string (e.g. \"5.0.2\")",
|
|
2916
2917
|
workspaceName: "string",
|
|
2917
2918
|
provider: {
|
|
2918
2919
|
providerId: "string",
|
|
@@ -3052,7 +3053,7 @@ program.command("status").description("System overview").option("--all", "Full l
|
|
|
3052
3053
|
if (opts.all || opts.deep) {
|
|
3053
3054
|
const fs$7 = await import("fs-extra");
|
|
3054
3055
|
const { getConfigPath } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
3055
|
-
const t = (await Promise.resolve().then(() => require("./theme-
|
|
3056
|
+
const t = (await Promise.resolve().then(() => require("./theme-D0smfC_l.js"))).getTheme(false);
|
|
3056
3057
|
const configPath = getConfigPath();
|
|
3057
3058
|
console.log(t.bold("\n ─── Deep status ───\n"));
|
|
3058
3059
|
try {
|
|
@@ -3064,7 +3065,7 @@ program.command("status").description("System overview").option("--all", "Full l
|
|
|
3064
3065
|
}
|
|
3065
3066
|
if (opts.deep) {
|
|
3066
3067
|
const http$2 = await import("http");
|
|
3067
|
-
const { resolveGatewayUrl } = await Promise.resolve().then(() => require("./health-
|
|
3068
|
+
const { resolveGatewayUrl } = await Promise.resolve().then(() => require("./health-DUjluWHQ.js"));
|
|
3068
3069
|
const cfg = await new require_manager.ConfigManager().load();
|
|
3069
3070
|
const { gatewayUrl } = resolveGatewayUrl(cfg);
|
|
3070
3071
|
const u = new URL(gatewayUrl);
|
|
@@ -3142,7 +3143,7 @@ program.command("health").description("Quick gateway health probe (Runtime, RPC
|
|
|
3142
3143
|
});
|
|
3143
3144
|
const themeCmd = program.command("theme").description("Switch CLI color theme");
|
|
3144
3145
|
themeCmd.command("list").description("List available themes").action(async () => {
|
|
3145
|
-
const { allThemes, getThemeName } = await Promise.resolve().then(() => require("./theme-
|
|
3146
|
+
const { allThemes, getThemeName } = await Promise.resolve().then(() => require("./theme-D0smfC_l.js"));
|
|
3146
3147
|
const current = getThemeName();
|
|
3147
3148
|
console.log(chalk.default.bold.hex("#06b6d4")("\n 🎨 AVAILABLE THEMES\n"));
|
|
3148
3149
|
for (const { name, label } of allThemes()) {
|
|
@@ -3154,7 +3155,7 @@ themeCmd.command("list").description("List available themes").action(async () =>
|
|
|
3154
3155
|
process.exit(0);
|
|
3155
3156
|
});
|
|
3156
3157
|
themeCmd.command("set <theme>").description("Set theme: dark | grey | white").action(async (name) => {
|
|
3157
|
-
const { setThemeName, allThemes } = await Promise.resolve().then(() => require("./theme-
|
|
3158
|
+
const { setThemeName, allThemes } = await Promise.resolve().then(() => require("./theme-D0smfC_l.js"));
|
|
3158
3159
|
const valid = allThemes().map((t) => t.name);
|
|
3159
3160
|
if (!valid.includes(name)) {
|
|
3160
3161
|
console.log(chalk.default.red(`\n ✖ Unknown theme: "${name}". Use: ${valid.join(" | ")}\n`));
|
|
@@ -3166,7 +3167,7 @@ themeCmd.command("set <theme>").description("Set theme: dark | grey | white").ac
|
|
|
3166
3167
|
process.exit(0);
|
|
3167
3168
|
});
|
|
3168
3169
|
themeCmd.command("preview").description("Preview all themes side-by-side").action(async () => {
|
|
3169
|
-
const { allThemes, getTheme, setThemeName, getThemeName } = await Promise.resolve().then(() => require("./theme-
|
|
3170
|
+
const { allThemes, getTheme, setThemeName, getThemeName } = await Promise.resolve().then(() => require("./theme-D0smfC_l.js"));
|
|
3170
3171
|
const current = getThemeName();
|
|
3171
3172
|
console.log(chalk.default.bold("\n 🎨 THEME PREVIEW\n"));
|
|
3172
3173
|
for (const { name, label } of allThemes()) {
|
|
@@ -3183,39 +3184,39 @@ themeCmd.command("preview").description("Preview all themes side-by-side").actio
|
|
|
3183
3184
|
});
|
|
3184
3185
|
const secretsCmd = program.command("secrets").description("External secrets management");
|
|
3185
3186
|
secretsCmd.command("audit").description("Audit all required secrets").option("--required-by <ids>", "Filter by skill/provider IDs (comma-separated)").action(async (opts) => {
|
|
3186
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3187
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-CVLLaKmq.js"));
|
|
3187
3188
|
const filter = opts.requiredBy?.split(",");
|
|
3188
3189
|
await new SecretsManager().audit(filter);
|
|
3189
3190
|
process.exit(0);
|
|
3190
3191
|
});
|
|
3191
3192
|
secretsCmd.command("set <KEY=value>").description("Set a secret in .env file").action(async (kv) => {
|
|
3192
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3193
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-CVLLaKmq.js"));
|
|
3193
3194
|
await new SecretsManager().set(kv);
|
|
3194
3195
|
process.exit(0);
|
|
3195
3196
|
});
|
|
3196
3197
|
secretsCmd.command("apply").description("Write secrets from .env to shell config (~/.bashrc, ~/.zshrc)").action(async () => {
|
|
3197
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3198
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-CVLLaKmq.js"));
|
|
3198
3199
|
await new SecretsManager().apply();
|
|
3199
3200
|
process.exit(0);
|
|
3200
3201
|
});
|
|
3201
3202
|
secretsCmd.command("reload").description("Reload secrets into running gateway").action(async () => {
|
|
3202
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3203
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-CVLLaKmq.js"));
|
|
3203
3204
|
await new SecretsManager().reload();
|
|
3204
3205
|
process.exit(0);
|
|
3205
3206
|
});
|
|
3206
3207
|
secretsCmd.command("remove <key>").description("Remove a secret from .env").action(async (key) => {
|
|
3207
|
-
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-
|
|
3208
|
+
const { SecretsManager } = await Promise.resolve().then(() => require("./manager-CVLLaKmq.js"));
|
|
3208
3209
|
await new SecretsManager().remove(key);
|
|
3209
3210
|
process.exit(0);
|
|
3210
3211
|
});
|
|
3211
3212
|
secretsCmd.command("credentials").description("List provider credential files (credentials/*.json)").action(async () => {
|
|
3212
|
-
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-
|
|
3213
|
+
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-CPkVO6-z.js"));
|
|
3213
3214
|
await new CredentialsStore().showList();
|
|
3214
3215
|
process.exit(0);
|
|
3215
3216
|
});
|
|
3216
3217
|
const securityCmd = program.command("security").description("Security tools");
|
|
3217
3218
|
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) => {
|
|
3218
|
-
const { runSecurityAudit } = await Promise.resolve().then(() => require("./audit-
|
|
3219
|
+
const { runSecurityAudit } = await Promise.resolve().then(() => require("./audit-NPIMmOSq.js"));
|
|
3219
3220
|
await runSecurityAudit({
|
|
3220
3221
|
deep: opts.deep,
|
|
3221
3222
|
fix: opts.fix,
|
|
@@ -3223,9 +3224,33 @@ securityCmd.command("audit").description("Security audit — file permissions, D
|
|
|
3223
3224
|
});
|
|
3224
3225
|
process.exit(0);
|
|
3225
3226
|
});
|
|
3227
|
+
program.command("osint").description("OSINT / Ethical Hacking mode — configure HyperClaw for security research").argument("[workflow]", "Workflow preset: recon | bugbounty | pentest | footprint | custom").option("--show", "Show current OSINT profile").option("--reset", "Clear OSINT profile and disable OSINT mode").action(async (workflow, opts) => {
|
|
3228
|
+
const { osintSetup, osintQuickStart } = await Promise.resolve().then(() => require("./osint-B6BZKQAD.js"));
|
|
3229
|
+
if (opts.show || opts.reset) await osintSetup({
|
|
3230
|
+
show: opts.show,
|
|
3231
|
+
reset: opts.reset
|
|
3232
|
+
});
|
|
3233
|
+
else if (workflow === "setup" || workflow) await osintSetup({ mode: workflow });
|
|
3234
|
+
else await osintQuickStart();
|
|
3235
|
+
process.exit(0);
|
|
3236
|
+
});
|
|
3237
|
+
program.command("osint setup").description("Interactive OSINT session setup wizard").action(async () => {
|
|
3238
|
+
const { osintSetup } = await Promise.resolve().then(() => require("./osint-B6BZKQAD.js"));
|
|
3239
|
+
await osintSetup({});
|
|
3240
|
+
process.exit(0);
|
|
3241
|
+
});
|
|
3242
|
+
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) => {
|
|
3243
|
+
const { runChat } = await Promise.resolve().then(() => require("./chat-qVuqhlPu.js"));
|
|
3244
|
+
await runChat({
|
|
3245
|
+
sessionId: opts.session,
|
|
3246
|
+
model: opts.model,
|
|
3247
|
+
thinking: opts.thinking,
|
|
3248
|
+
workspace: opts.workspace
|
|
3249
|
+
});
|
|
3250
|
+
});
|
|
3226
3251
|
const agentRunCmd = program.command("agent").description("Run agent with thinking control");
|
|
3227
3252
|
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) => {
|
|
3228
|
-
const { runAgent } = await Promise.resolve().then(() => require("./src-
|
|
3253
|
+
const { runAgent } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3229
3254
|
await runAgent({
|
|
3230
3255
|
message: opts.message,
|
|
3231
3256
|
thinking: opts.thinking,
|
|
@@ -3241,7 +3266,7 @@ agentRunCmd.requiredOption("-m, --message <text>", "Message to send to the agent
|
|
|
3241
3266
|
});
|
|
3242
3267
|
const threadsCmd = program.command("threads").description("ACP thread-bound agent sessions");
|
|
3243
3268
|
threadsCmd.command("list").description("List agent threads").option("--channel <id>", "Filter by channel").option("--active", "Show only active threads").action(async (opts) => {
|
|
3244
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3269
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3245
3270
|
const mgr = new ACPThreadManager();
|
|
3246
3271
|
const threads = await mgr.list({
|
|
3247
3272
|
channelId: opts.channel,
|
|
@@ -3251,29 +3276,29 @@ threadsCmd.command("list").description("List agent threads").option("--channel <
|
|
|
3251
3276
|
process.exit(0);
|
|
3252
3277
|
});
|
|
3253
3278
|
threadsCmd.command("terminate <id>").description("Terminate a thread").action(async (id) => {
|
|
3254
|
-
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-
|
|
3279
|
+
const { ACPThreadManager } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3255
3280
|
await new ACPThreadManager().terminate(id);
|
|
3256
3281
|
console.log(require("chalk").green(`\n ✔ Thread terminated: ${id}\n`));
|
|
3257
3282
|
process.exit(0);
|
|
3258
3283
|
});
|
|
3259
3284
|
const canvasCmd = program.command("canvas").description("Live AI-driven UI canvas");
|
|
3260
3285
|
canvasCmd.command("show").description("Show current canvas components").action(async () => {
|
|
3261
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3286
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-ANNfXsHn.js"));
|
|
3262
3287
|
await new CanvasRenderer().show();
|
|
3263
3288
|
process.exit(0);
|
|
3264
3289
|
});
|
|
3265
3290
|
canvasCmd.command("add <type> <title>").description("Add a canvas component (type: chart|table|form|markdown|image|custom)").action(async (type, title) => {
|
|
3266
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3291
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-ANNfXsHn.js"));
|
|
3267
3292
|
await new CanvasRenderer().addComponent(type, title);
|
|
3268
3293
|
process.exit(0);
|
|
3269
3294
|
});
|
|
3270
3295
|
canvasCmd.command("clear").description("Clear all canvas components").action(async () => {
|
|
3271
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3296
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-ANNfXsHn.js"));
|
|
3272
3297
|
await new CanvasRenderer().clear();
|
|
3273
3298
|
process.exit(0);
|
|
3274
3299
|
});
|
|
3275
3300
|
canvasCmd.command("export").description("Export canvas as HTML file").action(async () => {
|
|
3276
|
-
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-
|
|
3301
|
+
const { CanvasRenderer } = await Promise.resolve().then(() => require("./renderer-ANNfXsHn.js"));
|
|
3277
3302
|
const fs$7 = require("fs-extra");
|
|
3278
3303
|
const html = await new CanvasRenderer().exportHtml();
|
|
3279
3304
|
const outFile = require("path").join(require("os").homedir(), ".hyperclaw", "canvas", "export.html");
|
|
@@ -3294,62 +3319,62 @@ deliveryCmd.command("retry <id>").description("Retry a dead-lettered delivery it
|
|
|
3294
3319
|
});
|
|
3295
3320
|
const mcpCmd = program.command("mcp").description("MCP (Model Context Protocol) server management");
|
|
3296
3321
|
mcpCmd.command("list").action(async () => {
|
|
3297
|
-
const { mcpList } = await Promise.resolve().then(() => require("./mcp-
|
|
3322
|
+
const { mcpList } = await Promise.resolve().then(() => require("./mcp-CUoTCMw-.js"));
|
|
3298
3323
|
await mcpList();
|
|
3299
3324
|
process.exit(0);
|
|
3300
3325
|
});
|
|
3301
3326
|
mcpCmd.command("add").action(async () => {
|
|
3302
|
-
const { mcpAdd } = await Promise.resolve().then(() => require("./mcp-
|
|
3327
|
+
const { mcpAdd } = await Promise.resolve().then(() => require("./mcp-CUoTCMw-.js"));
|
|
3303
3328
|
await mcpAdd();
|
|
3304
3329
|
process.exit(0);
|
|
3305
3330
|
});
|
|
3306
3331
|
mcpCmd.command("remove <id>").action(async (id) => {
|
|
3307
|
-
const { mcpRemove } = await Promise.resolve().then(() => require("./mcp-
|
|
3332
|
+
const { mcpRemove } = await Promise.resolve().then(() => require("./mcp-CUoTCMw-.js"));
|
|
3308
3333
|
await mcpRemove(id);
|
|
3309
3334
|
process.exit(0);
|
|
3310
3335
|
});
|
|
3311
3336
|
mcpCmd.command("probe [id]").action(async (id) => {
|
|
3312
|
-
const { mcpProbe } = await Promise.resolve().then(() => require("./mcp-
|
|
3337
|
+
const { mcpProbe } = await Promise.resolve().then(() => require("./mcp-CUoTCMw-.js"));
|
|
3313
3338
|
await mcpProbe(id);
|
|
3314
3339
|
process.exit(0);
|
|
3315
3340
|
});
|
|
3316
3341
|
const nodeCmd = program.command("node").description("HyperClaw node management (local, remote, android)");
|
|
3317
3342
|
nodeCmd.command("list").action(async () => {
|
|
3318
|
-
const { nodeList } = await Promise.resolve().then(() => require("./node-
|
|
3343
|
+
const { nodeList } = await Promise.resolve().then(() => require("./node-TWxRm84k.js"));
|
|
3319
3344
|
await nodeList();
|
|
3320
3345
|
process.exit(0);
|
|
3321
3346
|
});
|
|
3322
3347
|
nodeCmd.command("add").action(async () => {
|
|
3323
|
-
const { nodeAdd } = await Promise.resolve().then(() => require("./node-
|
|
3348
|
+
const { nodeAdd } = await Promise.resolve().then(() => require("./node-TWxRm84k.js"));
|
|
3324
3349
|
await nodeAdd();
|
|
3325
3350
|
process.exit(0);
|
|
3326
3351
|
});
|
|
3327
3352
|
nodeCmd.command("probe [id]").action(async (id) => {
|
|
3328
|
-
const { nodeProbe } = await Promise.resolve().then(() => require("./node-
|
|
3353
|
+
const { nodeProbe } = await Promise.resolve().then(() => require("./node-TWxRm84k.js"));
|
|
3329
3354
|
await nodeProbe(id);
|
|
3330
3355
|
process.exit(0);
|
|
3331
3356
|
});
|
|
3332
3357
|
nodeCmd.command("remove <id>").action(async (id) => {
|
|
3333
|
-
const { nodeRemove } = await Promise.resolve().then(() => require("./node-
|
|
3358
|
+
const { nodeRemove } = await Promise.resolve().then(() => require("./node-TWxRm84k.js"));
|
|
3334
3359
|
await nodeRemove(id);
|
|
3335
3360
|
process.exit(0);
|
|
3336
3361
|
});
|
|
3337
3362
|
const arCmd = program.command("auto-reply").description("Auto-reply rule engine");
|
|
3338
3363
|
arCmd.command("list").action(async () => {
|
|
3339
|
-
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-
|
|
3364
|
+
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-BSQwwAYC.js"));
|
|
3340
3365
|
const e = new AutoReplyEngine();
|
|
3341
3366
|
await e.load();
|
|
3342
3367
|
e.showList();
|
|
3343
3368
|
process.exit(0);
|
|
3344
3369
|
});
|
|
3345
3370
|
arCmd.command("toggle <id>").action(async (id) => {
|
|
3346
|
-
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-
|
|
3371
|
+
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-BSQwwAYC.js"));
|
|
3347
3372
|
const e = new AutoReplyEngine();
|
|
3348
3373
|
await e.toggle(id);
|
|
3349
3374
|
process.exit(0);
|
|
3350
3375
|
});
|
|
3351
3376
|
arCmd.command("remove <id>").action(async (id) => {
|
|
3352
|
-
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-
|
|
3377
|
+
const { AutoReplyEngine } = await Promise.resolve().then(() => require("./rules-BSQwwAYC.js"));
|
|
3353
3378
|
const e = new AutoReplyEngine();
|
|
3354
3379
|
await e.remove(id);
|
|
3355
3380
|
process.exit(0);
|
|
@@ -3358,7 +3383,7 @@ const gmailCmd = program.command("gmail").description("Gmail Pub/Sub real-time n
|
|
|
3358
3383
|
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) => {
|
|
3359
3384
|
const chalk$11 = require("chalk");
|
|
3360
3385
|
try {
|
|
3361
|
-
const { setupGmailWatch } = await Promise.resolve().then(() => require("./gmail-watch-setup-
|
|
3386
|
+
const { setupGmailWatch } = await Promise.resolve().then(() => require("./gmail-watch-setup-C3uSWznp.js"));
|
|
3362
3387
|
const labelIds = opts.labels.split(",").map((s) => s.trim()).filter(Boolean);
|
|
3363
3388
|
const result = await setupGmailWatch({
|
|
3364
3389
|
topicName: opts.topic,
|
|
@@ -3378,7 +3403,7 @@ gmailCmd.command("watch-setup").description("Register Gmail watch for push notif
|
|
|
3378
3403
|
const cronCmd = program.command("cron").description("Scheduled tasks (cron → agent prompt)");
|
|
3379
3404
|
cronCmd.command("list").action(async () => {
|
|
3380
3405
|
const chalk$11 = require("chalk");
|
|
3381
|
-
const { loadCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-
|
|
3406
|
+
const { loadCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-L0mz1yyU.js"));
|
|
3382
3407
|
const tasks = await loadCronTasks();
|
|
3383
3408
|
console.log(chalk$11.bold.cyan("\n ⏰ CRON TASKS\n"));
|
|
3384
3409
|
if (tasks.length === 0) {
|
|
@@ -3398,7 +3423,7 @@ cronCmd.command("list").action(async () => {
|
|
|
3398
3423
|
});
|
|
3399
3424
|
cronCmd.command("add").arguments("<schedule> <prompt>").option("-n, --name <name>", "Task name").action(async (schedule, prompt, opts) => {
|
|
3400
3425
|
const chalk$11 = require("chalk");
|
|
3401
|
-
const { loadCronTasks, addCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-
|
|
3426
|
+
const { loadCronTasks, addCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-L0mz1yyU.js"));
|
|
3402
3427
|
await loadCronTasks();
|
|
3403
3428
|
addCronTask(schedule, prompt, opts.name);
|
|
3404
3429
|
await saveCronTasks();
|
|
@@ -3408,7 +3433,7 @@ cronCmd.command("add").arguments("<schedule> <prompt>").option("-n, --name <name
|
|
|
3408
3433
|
});
|
|
3409
3434
|
cronCmd.command("remove <id>").action(async (id) => {
|
|
3410
3435
|
const chalk$11 = require("chalk");
|
|
3411
|
-
const { loadCronTasks, removeCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-
|
|
3436
|
+
const { loadCronTasks, removeCronTask, saveCronTasks } = await Promise.resolve().then(() => require("./cron-tasks-L0mz1yyU.js"));
|
|
3412
3437
|
await loadCronTasks();
|
|
3413
3438
|
if (removeCronTask(id)) {
|
|
3414
3439
|
await saveCronTasks();
|
|
@@ -3465,20 +3490,20 @@ program.command("nodes").description("List connected mobile nodes (iOS/Android C
|
|
|
3465
3490
|
});
|
|
3466
3491
|
const whCmd = program.command("webhooks").description("Webhook endpoint management");
|
|
3467
3492
|
whCmd.command("list").action(async () => {
|
|
3468
|
-
const { WebhookManager } = await Promise.resolve().then(() => require("./manager-
|
|
3493
|
+
const { WebhookManager } = await Promise.resolve().then(() => require("./manager-BUrFrPuq.js"));
|
|
3469
3494
|
const m = new WebhookManager();
|
|
3470
3495
|
await m.load();
|
|
3471
3496
|
m.showList();
|
|
3472
3497
|
process.exit(0);
|
|
3473
3498
|
});
|
|
3474
3499
|
whCmd.command("remove <id>").action(async (id) => {
|
|
3475
|
-
const { WebhookManager } = await Promise.resolve().then(() => require("./manager-
|
|
3500
|
+
const { WebhookManager } = await Promise.resolve().then(() => require("./manager-BUrFrPuq.js"));
|
|
3476
3501
|
const m = new WebhookManager();
|
|
3477
3502
|
await m.remove(id);
|
|
3478
3503
|
process.exit(0);
|
|
3479
3504
|
});
|
|
3480
3505
|
whCmd.command("toggle <id>").action(async (id) => {
|
|
3481
|
-
const { WebhookManager } = await Promise.resolve().then(() => require("./manager-
|
|
3506
|
+
const { WebhookManager } = await Promise.resolve().then(() => require("./manager-BUrFrPuq.js"));
|
|
3482
3507
|
const m = new WebhookManager();
|
|
3483
3508
|
await m.toggle(id);
|
|
3484
3509
|
process.exit(0);
|
|
@@ -3487,7 +3512,7 @@ const logsCmd = program.command("logs").description("View gateway logs");
|
|
|
3487
3512
|
logsCmd.option("-n, --lines <n>", "Number of lines to show", "50");
|
|
3488
3513
|
logsCmd.option("-f, --follow", "Stream logs in real time");
|
|
3489
3514
|
logsCmd.action(async (opts) => {
|
|
3490
|
-
const { tailLog, streamLog } = await Promise.resolve().then(() => require("./logger-
|
|
3515
|
+
const { tailLog, streamLog } = await Promise.resolve().then(() => require("./logger-DCT2l9GV.js"));
|
|
3491
3516
|
if (opts.follow) await streamLog();
|
|
3492
3517
|
else {
|
|
3493
3518
|
await tailLog(parseInt(opts.lines));
|
|
@@ -3495,7 +3520,7 @@ logsCmd.action(async (opts) => {
|
|
|
3495
3520
|
}
|
|
3496
3521
|
});
|
|
3497
3522
|
program.command("gateway:serve").description("Start the gateway server in the foreground (used by daemon)").action(async () => {
|
|
3498
|
-
const { startGateway } = await Promise.resolve().then(() => require("./server-
|
|
3523
|
+
const { startGateway } = await Promise.resolve().then(() => require("./server-DP_bPzvI.js"));
|
|
3499
3524
|
await startGateway();
|
|
3500
3525
|
process.on("SIGINT", () => process.exit(0));
|
|
3501
3526
|
process.on("SIGTERM", () => process.exit(0));
|
|
@@ -3548,9 +3573,9 @@ const authCmd = program.command("auth").description("OAuth and provider credenti
|
|
|
3548
3573
|
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) => {
|
|
3549
3574
|
const chalk$11 = require("chalk");
|
|
3550
3575
|
const inquirer$2 = require("inquirer");
|
|
3551
|
-
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-
|
|
3576
|
+
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-CPkVO6-z.js"));
|
|
3552
3577
|
const { getHyperClawDir, getEnvFilePath } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
3553
|
-
const { getApiKeyGuide, GENERIC_API_KEY_STEPS } = await Promise.resolve().then(() => require("./api-keys-guide-
|
|
3578
|
+
const { getApiKeyGuide, GENERIC_API_KEY_STEPS } = await Promise.resolve().then(() => require("./api-keys-guide-ChbThbPj.js"));
|
|
3554
3579
|
const fs$7 = await import("fs-extra");
|
|
3555
3580
|
const path$7 = await import("path");
|
|
3556
3581
|
const guide = getApiKeyGuide(serviceId);
|
|
@@ -3602,7 +3627,7 @@ authCmd.command("add <service_id>").description("Add API key for a service (any
|
|
|
3602
3627
|
});
|
|
3603
3628
|
authCmd.command("remove <service_id>").description("Remove API key for a service from credentials and .env").action(async (serviceId) => {
|
|
3604
3629
|
const chalk$11 = require("chalk");
|
|
3605
|
-
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-
|
|
3630
|
+
const { CredentialsStore } = await Promise.resolve().then(() => require("./credentials-store-CPkVO6-z.js"));
|
|
3606
3631
|
const { getHyperClawDir, getEnvFilePath } = await Promise.resolve().then(() => require("./paths-D-QecARF.js"));
|
|
3607
3632
|
const fs$7 = await import("fs-extra");
|
|
3608
3633
|
const safeId = serviceId.replace(/[^a-zA-Z0-9_-]/g, "_").toLowerCase();
|
|
@@ -3622,7 +3647,7 @@ authCmd.command("oauth <provider>").description("Run full OAuth flow. Providers:
|
|
|
3622
3647
|
const chalk$11 = require("chalk");
|
|
3623
3648
|
const ora$4 = (await import("ora")).default;
|
|
3624
3649
|
try {
|
|
3625
|
-
const { runOAuthFlow } = await Promise.resolve().then(() => require("./oauth-flow-
|
|
3650
|
+
const { runOAuthFlow } = await Promise.resolve().then(() => require("./oauth-flow-JCfporKq.js"));
|
|
3626
3651
|
const spinner = ora$4("Starting OAuth flow...").start();
|
|
3627
3652
|
spinner.text = "Opening browser — complete the consent and return here.";
|
|
3628
3653
|
const tokens = await runOAuthFlow(provider, {
|
|
@@ -3630,7 +3655,7 @@ authCmd.command("oauth <provider>").description("Run full OAuth flow. Providers:
|
|
|
3630
3655
|
clientSecret: opts.clientSecret
|
|
3631
3656
|
});
|
|
3632
3657
|
spinner.stop();
|
|
3633
|
-
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-
|
|
3658
|
+
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-4R0EJlsT.js"));
|
|
3634
3659
|
const now = Math.floor(Date.now() / 1e3);
|
|
3635
3660
|
const expires_at = tokens.expires_in ? now + tokens.expires_in : void 0;
|
|
3636
3661
|
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;
|
|
@@ -3665,7 +3690,7 @@ authCmd.command("setup-token <provider>").description("Save setup token (Anthrop
|
|
|
3665
3690
|
console.log(chalk$11.red("\n ✖ No token provided.\n"));
|
|
3666
3691
|
process.exit(1);
|
|
3667
3692
|
}
|
|
3668
|
-
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-
|
|
3693
|
+
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-4R0EJlsT.js"));
|
|
3669
3694
|
await writeOAuthToken("anthropic-setup", {
|
|
3670
3695
|
access_token: token.trim(),
|
|
3671
3696
|
token_url: "https://api.anthropic.com"
|
|
@@ -3676,7 +3701,7 @@ authCmd.command("setup-token <provider>").description("Save setup token (Anthrop
|
|
|
3676
3701
|
});
|
|
3677
3702
|
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) => {
|
|
3678
3703
|
const chalk$11 = require("chalk");
|
|
3679
|
-
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-
|
|
3704
|
+
const { writeOAuthToken } = await Promise.resolve().then(() => require("./oauth-provider-4R0EJlsT.js"));
|
|
3680
3705
|
const access_token = opts.token || process.env.OAUTH_ACCESS_TOKEN;
|
|
3681
3706
|
if (!access_token) {
|
|
3682
3707
|
console.log(chalk$11.red("\n ✖ Provide --token <access_token> or set OAUTH_ACCESS_TOKEN\n"));
|
|
@@ -3704,7 +3729,7 @@ workspaceCmd.command("init [dir]").description("Initialize workspace files (SOUL
|
|
|
3704
3729
|
try {
|
|
3705
3730
|
cfg = await fs$7.readJson(path$7.join(os$8.homedir(), ".hyperclaw", "hyperclaw.json"));
|
|
3706
3731
|
} catch {}
|
|
3707
|
-
const { initWorkspaceFiles } = await Promise.resolve().then(() => require("./memory-
|
|
3732
|
+
const { initWorkspaceFiles } = await Promise.resolve().then(() => require("./memory-gUi4VaIf.js"));
|
|
3708
3733
|
await initWorkspaceFiles({
|
|
3709
3734
|
agentName: cfg.identity?.agentName || "Hyper",
|
|
3710
3735
|
personality: cfg.identity?.personality || "helpful and concise",
|
|
@@ -3743,13 +3768,13 @@ workspaceCmd.command("show [dir]").description("Show workspace files summary").a
|
|
|
3743
3768
|
});
|
|
3744
3769
|
const botCmd = program.command("bot").description("HyperClaw Bot — companion bot for remote gateway control");
|
|
3745
3770
|
botCmd.command("status").action(async () => {
|
|
3746
|
-
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3771
|
+
const { showBotStatus } = await Promise.resolve().then(() => require("./hyperclawbot-BrcoYLOp.js"));
|
|
3747
3772
|
await showBotStatus();
|
|
3748
3773
|
process.exit(0);
|
|
3749
3774
|
});
|
|
3750
3775
|
botCmd.command("setup").description("Configure HyperClaw Bot (Telegram token, allowed users)").action(async () => {
|
|
3751
3776
|
const inquirer$2 = require("inquirer");
|
|
3752
|
-
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3777
|
+
const { saveBotConfig } = await Promise.resolve().then(() => require("./hyperclawbot-BrcoYLOp.js"));
|
|
3753
3778
|
const chalk$11 = require("chalk");
|
|
3754
3779
|
console.log(chalk$11.bold.hex("#06b6d4")("\n 🦅 HYPERCLAW BOT SETUP\n"));
|
|
3755
3780
|
console.log(chalk$11.gray(" Create a bot at t.me/BotFather, then paste the token below.\n"));
|
|
@@ -3811,14 +3836,14 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
3811
3836
|
cwd: process.cwd()
|
|
3812
3837
|
});
|
|
3813
3838
|
child.unref();
|
|
3814
|
-
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3839
|
+
const { writeBotPid } = await Promise.resolve().then(() => require("./hyperclawbot-BrcoYLOp.js"));
|
|
3815
3840
|
await writeBotPid(child.pid);
|
|
3816
3841
|
console.log(require("chalk").green(`\n ✔ HyperClaw Bot started in background (PID ${child.pid})`));
|
|
3817
3842
|
console.log(require("chalk").gray(" Stop with: hyperclaw bot stop\n"));
|
|
3818
3843
|
process.exit(0);
|
|
3819
3844
|
return;
|
|
3820
3845
|
}
|
|
3821
|
-
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3846
|
+
const { loadBotConfig, TelegramHyperClawBot, DiscordHyperClawBot } = await Promise.resolve().then(() => require("./hyperclawbot-BrcoYLOp.js"));
|
|
3822
3847
|
const cfg = await loadBotConfig();
|
|
3823
3848
|
if (!cfg) {
|
|
3824
3849
|
console.log(require("chalk").red("\n ✖ HyperClaw Bot not configured. Run: hyperclaw bot setup\n"));
|
|
@@ -3845,41 +3870,41 @@ botCmd.command("start").description("Start HyperClaw Bot (foreground or backgrou
|
|
|
3845
3870
|
});
|
|
3846
3871
|
botCmd.command("stop").description("Stop HyperClaw Bot (when running in background)").action(async () => {
|
|
3847
3872
|
const chalk$11 = require("chalk");
|
|
3848
|
-
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-
|
|
3873
|
+
const { stopBotProcess } = await Promise.resolve().then(() => require("./hyperclawbot-BrcoYLOp.js"));
|
|
3849
3874
|
const stopped = await stopBotProcess();
|
|
3850
3875
|
if (stopped) console.log(chalk$11.green("\n ✔ HyperClaw Bot stopped\n"));
|
|
3851
3876
|
else console.log(chalk$11.gray("\n Bot not running in background (no PID file). Use Ctrl+C to stop foreground bot.\n"));
|
|
3852
3877
|
process.exit(stopped ? 0 : 0);
|
|
3853
3878
|
});
|
|
3854
3879
|
memCmd.command("search <query>").description("Search MEMORY.md").action(async (query) => {
|
|
3855
|
-
const { searchMemory } = await Promise.resolve().then(() => require("./src-
|
|
3880
|
+
const { searchMemory } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3856
3881
|
await searchMemory(query);
|
|
3857
3882
|
process.exit(0);
|
|
3858
3883
|
});
|
|
3859
3884
|
memCmd.command("auto-show").description("Show auto-extracted memories from MEMORY.md").action(async () => {
|
|
3860
|
-
const { showMemory } = await Promise.resolve().then(() => require("./src-
|
|
3885
|
+
const { showMemory } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3861
3886
|
await showMemory();
|
|
3862
3887
|
process.exit(0);
|
|
3863
3888
|
});
|
|
3864
3889
|
memCmd.command("clear").description("Clear all auto-extracted memories").action(async () => {
|
|
3865
|
-
const { clearMemory } = await Promise.resolve().then(() => require("./src-
|
|
3890
|
+
const { clearMemory } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3866
3891
|
await clearMemory();
|
|
3867
3892
|
process.exit(0);
|
|
3868
3893
|
});
|
|
3869
3894
|
memCmd.command("save <text>").description("Manually save a fact to MEMORY.md").action(async (text) => {
|
|
3870
|
-
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-
|
|
3895
|
+
const { saveMemoryDirect } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3871
3896
|
await saveMemoryDirect(text);
|
|
3872
3897
|
console.log(chalk.default.hex("#06b6d4")(` ✅ Saved: ${text}\n`));
|
|
3873
3898
|
process.exit(0);
|
|
3874
3899
|
});
|
|
3875
3900
|
const pcCmd = program.command("pc").description("PC access — give the AI access to your computer");
|
|
3876
3901
|
pcCmd.command("status").description("Show PC access status and config").action(async () => {
|
|
3877
|
-
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-
|
|
3902
|
+
const { showPCAccessStatus } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3878
3903
|
await showPCAccessStatus();
|
|
3879
3904
|
process.exit(0);
|
|
3880
3905
|
});
|
|
3881
3906
|
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) => {
|
|
3882
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
3907
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3883
3908
|
const level = opts.level;
|
|
3884
3909
|
const allowed = [
|
|
3885
3910
|
"read-only",
|
|
@@ -3906,7 +3931,7 @@ pcCmd.command("enable").description("Enable PC access for the AI").option("--lev
|
|
|
3906
3931
|
process.exit(0);
|
|
3907
3932
|
});
|
|
3908
3933
|
pcCmd.command("disable").description("Disable PC access").action(async () => {
|
|
3909
|
-
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-
|
|
3934
|
+
const { savePCAccessConfig } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3910
3935
|
await savePCAccessConfig({ enabled: false });
|
|
3911
3936
|
console.log(chalk.default.hex("#06b6d4")("\n ✅ PC access disabled\n"));
|
|
3912
3937
|
process.exit(0);
|
|
@@ -3930,7 +3955,7 @@ pcCmd.command("log").description("Show PC access audit log").option("-n, --lines
|
|
|
3930
3955
|
process.exit(0);
|
|
3931
3956
|
});
|
|
3932
3957
|
pcCmd.command("run <command>").description("Run a shell command via PC access (must be enabled)").action(async (command) => {
|
|
3933
|
-
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-
|
|
3958
|
+
const { loadPCAccessConfig, getPCAccessTools } = await Promise.resolve().then(() => require("./src-BbPa6Q8p.js"));
|
|
3934
3959
|
const cfg = await loadPCAccessConfig();
|
|
3935
3960
|
if (!cfg.enabled) {
|
|
3936
3961
|
console.log(chalk.default.red("\n ✖ PC access disabled. Run: hyperclaw pc enable\n"));
|
|
@@ -3943,33 +3968,6 @@ pcCmd.command("run <command>").description("Run a shell command via PC access (m
|
|
|
3943
3968
|
console.log(result);
|
|
3944
3969
|
process.exit(0);
|
|
3945
3970
|
});
|
|
3946
|
-
function checkForUpdate() {
|
|
3947
|
-
const { execFile: execFile$1 } = require("child_process");
|
|
3948
|
-
const { readFileSync } = require("fs");
|
|
3949
|
-
const path$7 = require("path");
|
|
3950
|
-
try {
|
|
3951
|
-
const pkgPath = path$7.resolve(__dirname, "../../package.json");
|
|
3952
|
-
const current = JSON.parse(readFileSync(pkgPath, "utf8")).version;
|
|
3953
|
-
execFile$1("npm", [
|
|
3954
|
-
"view",
|
|
3955
|
-
"hyperclaw",
|
|
3956
|
-
"version",
|
|
3957
|
-
"--json"
|
|
3958
|
-
], { timeout: 5e3 }, (_err, stdout) => {
|
|
3959
|
-
if (_err || !stdout) return;
|
|
3960
|
-
try {
|
|
3961
|
-
const latest = JSON.parse(stdout.trim());
|
|
3962
|
-
if (latest && latest !== current) {
|
|
3963
|
-
const semver = (v) => v.split(".").map(Number);
|
|
3964
|
-
const [lMaj, lMin, lPat] = semver(latest);
|
|
3965
|
-
const [cMaj, cMin, cPat] = semver(current);
|
|
3966
|
-
const isNewer = lMaj > cMaj || lMaj === cMaj && lMin > cMin || lMaj === cMaj && lMin === cMin && lPat > cPat;
|
|
3967
|
-
if (isNewer) process.stdout.write(chalk.default.yellow(`\n ⬆ Update available: ${chalk.default.dim(current)} → ${chalk.default.green(latest)}\n`) + chalk.default.gray(` npm install -g hyperclaw@latest\n\n`));
|
|
3968
|
-
}
|
|
3969
|
-
} catch {}
|
|
3970
|
-
});
|
|
3971
|
-
} catch {}
|
|
3972
|
-
}
|
|
3973
3971
|
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) => {
|
|
3974
3972
|
await new require_onboard.Banner().showNeonBanner(false);
|
|
3975
3973
|
const wizardOpts = {
|
|
@@ -3986,13 +3984,23 @@ program.command("setup").description("Setup wizard — alias for `hyperclaw onbo
|
|
|
3986
3984
|
await new require_onboard.HyperClawWizard().run(wizardOpts);
|
|
3987
3985
|
process.exit(0);
|
|
3988
3986
|
});
|
|
3989
|
-
|
|
3987
|
+
async function runUpdateCheck() {
|
|
3988
|
+
try {
|
|
3989
|
+
const { checkForUpdates, notifyUpdateAvailable } = await Promise.resolve().then(() => require("./update-check-BVEqHhFY.js"));
|
|
3990
|
+
const path$7 = require("path");
|
|
3991
|
+
const { readFileSync } = require("fs");
|
|
3992
|
+
const pkgPath = path$7.resolve(__dirname, "../../package.json");
|
|
3993
|
+
const current = JSON.parse(readFileSync(pkgPath, "utf8")).version;
|
|
3994
|
+
const result = await checkForUpdates(current);
|
|
3995
|
+
if (result?.available) notifyUpdateAvailable(current, result.latest);
|
|
3996
|
+
} catch {}
|
|
3997
|
+
}
|
|
3990
3998
|
if (process.argv.length === 2) (async () => {
|
|
3991
|
-
const { ConfigManager: ConfigManager$1 } = await Promise.resolve().then(() => require("./manager-
|
|
3999
|
+
const { ConfigManager: ConfigManager$1 } = await Promise.resolve().then(() => require("./manager-CBUHJiY7.js"));
|
|
3992
4000
|
const cfg = await new ConfigManager$1().load().catch(() => null);
|
|
3993
4001
|
if (cfg?.provider?.apiKey || cfg?.provider?.providerId) {
|
|
3994
4002
|
await new require_onboard.Banner().showNeonBanner(false);
|
|
3995
|
-
const { getTheme } = await Promise.resolve().then(() => require("./theme-
|
|
4003
|
+
const { getTheme } = await Promise.resolve().then(() => require("./theme-D0smfC_l.js"));
|
|
3996
4004
|
const t = getTheme(false);
|
|
3997
4005
|
const chalk$11 = require("chalk");
|
|
3998
4006
|
console.log(t.bold(" Quick actions:\n"));
|
|
@@ -4006,13 +4014,15 @@ if (process.argv.length === 2) (async () => {
|
|
|
4006
4014
|
console.log(` ${t.c("hyperclaw --help")} — all commands\n`);
|
|
4007
4015
|
} else {
|
|
4008
4016
|
await new require_onboard.Banner().showNeonBanner(false);
|
|
4009
|
-
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-
|
|
4017
|
+
const { HyperClawWizard: HyperClawWizard$1 } = await Promise.resolve().then(() => require("./onboard-CGNIw27w.js"));
|
|
4010
4018
|
await new HyperClawWizard$1().run({ wizard: true });
|
|
4011
4019
|
}
|
|
4020
|
+
await runUpdateCheck();
|
|
4012
4021
|
process.exit(0);
|
|
4013
4022
|
})();
|
|
4014
|
-
else program.parseAsync(process.argv).then(() => {
|
|
4015
|
-
|
|
4023
|
+
else program.parseAsync(process.argv).then(async () => {
|
|
4024
|
+
await runUpdateCheck();
|
|
4025
|
+
process.exit(0);
|
|
4016
4026
|
}).catch((e) => {
|
|
4017
4027
|
console.error(e.message);
|
|
4018
4028
|
process.exit(1);
|