@agenthifive/openclaw-setup 0.2.6 → 0.2.7

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/cli.d.ts CHANGED
@@ -8,11 +8,12 @@
8
8
  * 3. Bootstraps agent auth with the vault
9
9
  * 4. Writes plugin config to openclaw.json
10
10
  * 5. Patches OpenClaw for credential proxying
11
- * 6. Launches OpenClaw's model picker for default model selection
11
+ *
12
+ * Also supports --verify to check an existing installation.
12
13
  *
13
14
  * Usage:
14
15
  * npx @agenthifive/openclaw-setup --base-url https://app.agenthifive.com --bootstrap-secret ah5b_...
15
- * ah5-setup --base-url https://app.agenthifive.com --bootstrap-secret ah5b_...
16
+ * npx @agenthifive/openclaw-setup --verify [--openclaw-dir /path/to/openclaw]
16
17
  */
17
18
  export {};
18
19
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG"}
package/dist/cli.js CHANGED
@@ -8,13 +8,15 @@
8
8
  * 3. Bootstraps agent auth with the vault
9
9
  * 4. Writes plugin config to openclaw.json
10
10
  * 5. Patches OpenClaw for credential proxying
11
- * 6. Launches OpenClaw's model picker for default model selection
11
+ *
12
+ * Also supports --verify to check an existing installation.
12
13
  *
13
14
  * Usage:
14
15
  * npx @agenthifive/openclaw-setup --base-url https://app.agenthifive.com --bootstrap-secret ah5b_...
15
- * ah5-setup --base-url https://app.agenthifive.com --bootstrap-secret ah5b_...
16
+ * npx @agenthifive/openclaw-setup --verify [--openclaw-dir /path/to/openclaw]
16
17
  */
17
18
  import { runSetup, parseSetupArgs } from "./setup-wizard.js";
19
+ import { runVerify } from "./verify.js";
18
20
  const args = process.argv.slice(2);
19
21
  if (args.includes("--help") || args.includes("-h")) {
20
22
  process.stdout.write(`
@@ -28,7 +30,10 @@ if (args.includes("--help") || args.includes("-h")) {
28
30
  ah5-setup --base-url <url> --bootstrap-secret <secret>
29
31
  npx @agenthifive/openclaw-setup --base-url <url> --bootstrap-secret <secret>
30
32
 
31
- Options:
33
+ Commands:
34
+ --verify Check an existing installation (no changes made)
35
+
36
+ Setup options:
32
37
  --base-url <url> AgentHiFive API base URL
33
38
  --bootstrap-secret <secret> Bootstrap secret from dashboard (ah5b_...)
34
39
  --config-path <path> Explicit OpenClaw config file path
@@ -36,16 +41,34 @@ if (args.includes("--help") || args.includes("-h")) {
36
41
  --non-interactive Run without prompts (requires --base-url and --bootstrap-secret)
37
42
  --skip-onboard Skip OpenClaw onboard step
38
43
  --skip-plugin-install Skip plugin installation step
39
- --skip-model Skip model selection step
40
44
  -h, --help Show this help message
41
45
 
42
46
  `);
43
47
  process.exit(0);
44
48
  }
45
- const opts = parseSetupArgs(args);
46
- runSetup(opts).catch((err) => {
47
- const message = err instanceof Error ? err.message : String(err);
48
- process.stderr.write(`\n ERROR: ${message}\n\n`);
49
- process.exit(1);
50
- });
49
+ // --verify mode
50
+ if (args.includes("--verify")) {
51
+ // Extract --openclaw-dir if provided
52
+ let openclawDir;
53
+ const dirIdx = args.indexOf("--openclaw-dir");
54
+ if (dirIdx !== -1 && args[dirIdx + 1]) {
55
+ openclawDir = args[dirIdx + 1];
56
+ }
57
+ runVerify(openclawDir).then((ok) => {
58
+ process.exit(ok ? 0 : 1);
59
+ }).catch((err) => {
60
+ const message = err instanceof Error ? err.message : String(err);
61
+ process.stderr.write(`\n ERROR: ${message}\n\n`);
62
+ process.exit(1);
63
+ });
64
+ }
65
+ else {
66
+ // Setup mode
67
+ const opts = parseSetupArgs(args);
68
+ runSetup(opts).catch((err) => {
69
+ const message = err instanceof Error ? err.message : String(err);
70
+ process.stderr.write(`\n ERROR: ${message}\n\n`);
71
+ process.exit(1);
72
+ });
73
+ }
51
74
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE7D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;CAsBtB,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;AAElC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;IACpC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,MAAM,CAAC,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;IACnD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CAwBtB,CAAC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,gBAAgB;AAChB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;IAC9B,qCAAqC;IACrC,IAAI,WAA+B,CAAC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;QACtC,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE;QACjC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,CAAC;IACN,aAAa;IACb,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAElC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,OAAO,MAAM,CAAC,CAAC;QAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Verification / diagnostics for an OpenClaw + AgentHiFive installation.
3
+ *
4
+ * Run via: npx @agenthifive/openclaw-setup --verify
5
+ * ah5-setup --verify [--openclaw-dir /path/to/openclaw]
6
+ *
7
+ * Checks everything needed for a healthy installation:
8
+ * 1. OpenClaw installation (location, version, install type)
9
+ * 2. Dist chunk patch status (all chunks, version, globalThis bridge)
10
+ * 3. Plugin installation
11
+ * 4. Config file (vault URL, auth, LLM proxy baseUrls)
12
+ * 5. Vault connectivity
13
+ * 6. Backup file status
14
+ *
15
+ * Exit codes:
16
+ * 0 — all checks pass
17
+ * 1 — one or more checks failed (actionable output provided)
18
+ */
19
+ export declare function runVerify(openclawDir?: string): Promise<boolean>;
20
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAoYH,wBAAsB,SAAS,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CA4CtE"}
package/dist/verify.js ADDED
@@ -0,0 +1,393 @@
1
+ /**
2
+ * Verification / diagnostics for an OpenClaw + AgentHiFive installation.
3
+ *
4
+ * Run via: npx @agenthifive/openclaw-setup --verify
5
+ * ah5-setup --verify [--openclaw-dir /path/to/openclaw]
6
+ *
7
+ * Checks everything needed for a healthy installation:
8
+ * 1. OpenClaw installation (location, version, install type)
9
+ * 2. Dist chunk patch status (all chunks, version, globalThis bridge)
10
+ * 3. Plugin installation
11
+ * 4. Config file (vault URL, auth, LLM proxy baseUrls)
12
+ * 5. Vault connectivity
13
+ * 6. Backup file status
14
+ *
15
+ * Exit codes:
16
+ * 0 — all checks pass
17
+ * 1 — one or more checks failed (actionable output provided)
18
+ */
19
+ import { existsSync, readFileSync, readdirSync, } from "node:fs";
20
+ import os from "node:os";
21
+ import path from "node:path";
22
+ import { findOpenClawInstallDir, validateOpenClawDir, findDistChunks, } from "./auto-patch.js";
23
+ import { resolveOpenClawConfigPath } from "./config-discovery.js";
24
+ // ---------------------------------------------------------------------------
25
+ // Output helpers
26
+ // ---------------------------------------------------------------------------
27
+ const GREEN = "\x1b[32m";
28
+ const RED = "\x1b[31m";
29
+ const YELLOW = "\x1b[33m";
30
+ const DIM = "\x1b[2m";
31
+ const NC = "\x1b[0m";
32
+ let _hasFailures = false;
33
+ function ok(msg) {
34
+ process.stdout.write(` ${GREEN}✔${NC} ${msg}\n`);
35
+ }
36
+ function fail(msg) {
37
+ _hasFailures = true;
38
+ process.stdout.write(` ${RED}✖${NC} ${msg}\n`);
39
+ }
40
+ function warn(msg) {
41
+ process.stdout.write(` ${YELLOW}!${NC} ${msg}\n`);
42
+ }
43
+ function info(msg) {
44
+ process.stdout.write(` ${DIM}${msg}${NC}\n`);
45
+ }
46
+ function heading(msg) {
47
+ process.stdout.write(`\n ${msg}\n ${"─".repeat(45)}\n`);
48
+ }
49
+ // ---------------------------------------------------------------------------
50
+ // Markers (must match auto-patch.ts)
51
+ // ---------------------------------------------------------------------------
52
+ const PATCH_MARKER = "@agenthifive/openclaw/runtime";
53
+ const PATCH_VERSION = "@ah5-patch-v4";
54
+ // ---------------------------------------------------------------------------
55
+ // Individual checks
56
+ // ---------------------------------------------------------------------------
57
+ function checkInstallation(openclawDir) {
58
+ heading("OpenClaw Installation");
59
+ let install = null;
60
+ if (openclawDir) {
61
+ install = validateOpenClawDir(openclawDir);
62
+ if (!install) {
63
+ fail(`${openclawDir} is not an OpenClaw installation`);
64
+ return null;
65
+ }
66
+ ok(`Found at ${install.dir} (user-specified)`);
67
+ }
68
+ else {
69
+ install = findOpenClawInstallDir();
70
+ if (!install) {
71
+ fail("OpenClaw not found. Use --openclaw-dir or install: npm i -g openclaw");
72
+ return null;
73
+ }
74
+ ok(`Found at ${install.dir}`);
75
+ }
76
+ // Version
77
+ const pkgPath = path.join(install.dir, "package.json");
78
+ try {
79
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
80
+ info(`Version: ${pkg.version ?? "unknown"}`);
81
+ }
82
+ catch {
83
+ info("Version: unknown");
84
+ }
85
+ ok(`Install type: ${install.kind === "source" ? "source (TypeScript)" : "dist (compiled)"}`);
86
+ return install;
87
+ }
88
+ function checkChunks(install) {
89
+ heading("Patch Status");
90
+ const stats = { total: 0, patched: 0, unpatched: 0 };
91
+ if (install.kind === "source") {
92
+ const target = path.join(install.dir, "src", "agents", "model-auth.ts");
93
+ if (!existsSync(target)) {
94
+ fail("model-auth.ts not found");
95
+ return stats;
96
+ }
97
+ stats.total = 1;
98
+ const content = readFileSync(target, "utf-8");
99
+ if (content.includes(PATCH_VERSION)) {
100
+ ok("model-auth.ts: patched (v4)");
101
+ stats.patched = 1;
102
+ }
103
+ else if (content.includes(PATCH_MARKER)) {
104
+ warn("model-auth.ts: OLD patch version — re-run setup to update");
105
+ stats.unpatched = 1;
106
+ }
107
+ else {
108
+ warn("model-auth.ts: not patched");
109
+ stats.unpatched = 1;
110
+ }
111
+ return stats;
112
+ }
113
+ // Dist install
114
+ const distDir = path.join(install.dir, "dist");
115
+ if (!existsSync(distDir)) {
116
+ fail(`dist/ not found at ${distDir}`);
117
+ return stats;
118
+ }
119
+ const chunks = findDistChunks(distDir);
120
+ stats.total = chunks.length;
121
+ if (chunks.length === 0) {
122
+ fail("No chunks containing resolveApiKeyForProvider found in dist/");
123
+ return stats;
124
+ }
125
+ for (const chunk of chunks) {
126
+ const basename = path.basename(chunk);
127
+ const content = readFileSync(chunk, "utf-8");
128
+ if (content.includes(PATCH_VERSION)) {
129
+ ok(`${basename}: patched (v4)`);
130
+ stats.patched++;
131
+ }
132
+ else if (content.includes(PATCH_MARKER)) {
133
+ warn(`${basename}: OLD patch version — re-run setup to update`);
134
+ stats.unpatched++;
135
+ }
136
+ else {
137
+ warn(`${basename}: NOT patched`);
138
+ stats.unpatched++;
139
+ }
140
+ }
141
+ info(`Total: ${stats.total} | Patched: ${stats.patched} | Need patching: ${stats.unpatched}`);
142
+ return stats;
143
+ }
144
+ function checkRuntimeBridge(install) {
145
+ heading("Runtime Bridge");
146
+ const distDir = path.join(install.dir, "dist");
147
+ if (!existsSync(distDir)) {
148
+ info("(skipped — source install)");
149
+ return;
150
+ }
151
+ // Find a patched chunk to inspect
152
+ const files = readdirSync(distDir).filter((f) => f.endsWith(".js"));
153
+ let sampleContent = null;
154
+ for (const file of files) {
155
+ const content = readFileSync(path.join(distDir, file), "utf-8");
156
+ if (content.includes(PATCH_VERSION)) {
157
+ sampleContent = content;
158
+ break;
159
+ }
160
+ }
161
+ if (!sampleContent) {
162
+ info("(skipped — no patched chunks found)");
163
+ return;
164
+ }
165
+ if (sampleContent.includes("globalThis.__ah5_runtime")) {
166
+ ok("Uses globalThis bridge (correct)");
167
+ }
168
+ else if (sampleContent.includes("await import(")) {
169
+ fail("Uses OLD import() approach — re-run setup to update");
170
+ }
171
+ else {
172
+ warn("Could not determine bridge approach");
173
+ }
174
+ if (sampleContent.includes("vault:agent-token")) {
175
+ ok("Returns vault bearer token (Model B brokered proxy)");
176
+ }
177
+ else {
178
+ fail("Does not return vault bearer token — patch may be corrupt");
179
+ }
180
+ }
181
+ function checkPlugin() {
182
+ heading("Plugin");
183
+ const extensionsDir = path.join(os.homedir(), ".openclaw", "extensions");
184
+ if (!existsSync(extensionsDir)) {
185
+ warn(`Extensions directory not found: ${extensionsDir}`);
186
+ return;
187
+ }
188
+ const candidates = ["agenthifive", "@agenthifive"];
189
+ let pluginDir = null;
190
+ for (const name of candidates) {
191
+ const candidate = path.join(extensionsDir, name);
192
+ if (existsSync(candidate)) {
193
+ pluginDir = candidate;
194
+ break;
195
+ }
196
+ }
197
+ // Also check subdirectories (npm may nest under @agenthifive/openclaw)
198
+ if (!pluginDir) {
199
+ const atDir = path.join(extensionsDir, "@agenthifive", "openclaw");
200
+ if (existsSync(atDir))
201
+ pluginDir = atDir;
202
+ }
203
+ if (!pluginDir) {
204
+ fail("Plugin not installed. Run: openclaw plugins install @agenthifive/openclaw");
205
+ return;
206
+ }
207
+ ok(`Installed at ${pluginDir}`);
208
+ const pkgPath = path.join(pluginDir, "package.json");
209
+ if (existsSync(pkgPath)) {
210
+ try {
211
+ const pkg = JSON.parse(readFileSync(pkgPath, "utf-8"));
212
+ info(`Version: ${pkg.version ?? "unknown"}`);
213
+ }
214
+ catch {
215
+ // ignore
216
+ }
217
+ }
218
+ }
219
+ function checkConfig() {
220
+ heading("Configuration");
221
+ const configPath = resolveOpenClawConfigPath();
222
+ if (!configPath) {
223
+ warn("No openclaw.json found");
224
+ return;
225
+ }
226
+ ok(`Config: ${configPath}`);
227
+ let config;
228
+ try {
229
+ config = JSON.parse(readFileSync(configPath, "utf-8"));
230
+ }
231
+ catch (err) {
232
+ fail(`Config parse error: ${err instanceof Error ? err.message : String(err)}`);
233
+ return;
234
+ }
235
+ // Plugin entry
236
+ const plugins = config.plugins;
237
+ const entries = plugins?.entries;
238
+ const ah5 = entries?.agenthifive;
239
+ if (!ah5) {
240
+ warn("No plugins.entries.agenthifive in config");
241
+ return;
242
+ }
243
+ ok("Plugin entry present");
244
+ const pluginConfig = ah5.config;
245
+ if (!pluginConfig) {
246
+ warn("No plugin config block");
247
+ return;
248
+ }
249
+ // Vault URL
250
+ const baseUrl = pluginConfig.baseUrl;
251
+ if (baseUrl) {
252
+ ok(`Vault URL: ${baseUrl}`);
253
+ }
254
+ else {
255
+ fail("No vault baseUrl configured");
256
+ }
257
+ // Auth
258
+ const auth = pluginConfig.auth;
259
+ if (auth?.mode) {
260
+ ok(`Auth mode: ${auth.mode}`);
261
+ if (auth.mode === "agent" && auth.agentId) {
262
+ const agentId = auth.agentId;
263
+ info(`Agent ID: ${agentId.slice(0, 12)}...`);
264
+ }
265
+ }
266
+ else {
267
+ fail("No auth configured");
268
+ }
269
+ // Connected providers
270
+ const connected = pluginConfig.connectedProviders;
271
+ if (connected && connected.length > 0) {
272
+ ok(`Connected providers: ${connected.join(", ")}`);
273
+ }
274
+ // Proxied providers
275
+ const proxied = pluginConfig.proxiedProviders;
276
+ if (proxied && proxied.length > 0) {
277
+ ok(`Proxied LLM providers: ${proxied.join(", ")}`);
278
+ }
279
+ // models.providers (LLM proxy baseUrl redirects)
280
+ const models = config.models;
281
+ const providers = models?.providers;
282
+ if (providers) {
283
+ const proxiedViaBaseUrl = Object.entries(providers)
284
+ .filter(([, v]) => typeof v?.baseUrl === "string" && v.baseUrl.includes("/v1/vault/llm/"))
285
+ .map(([k]) => k);
286
+ if (proxiedViaBaseUrl.length > 0) {
287
+ ok(`LLM proxy baseUrl (Model B): ${proxiedViaBaseUrl.join(", ")}`);
288
+ }
289
+ }
290
+ // Warn about stale load.paths
291
+ const load = plugins?.load;
292
+ if (load?.paths) {
293
+ warn("plugins.load.paths is set — this is unnecessary and may cause issues");
294
+ info("Remove it from config; the plugin loads from ~/.openclaw/extensions/");
295
+ }
296
+ }
297
+ async function checkVaultConnectivity(configPath) {
298
+ heading("Vault Connectivity");
299
+ if (!configPath) {
300
+ info("(skipped — no config file)");
301
+ return;
302
+ }
303
+ let config;
304
+ try {
305
+ config = JSON.parse(readFileSync(configPath, "utf-8"));
306
+ }
307
+ catch {
308
+ info("(skipped — config parse error)");
309
+ return;
310
+ }
311
+ const plugins = config.plugins;
312
+ const entries = plugins?.entries;
313
+ const ah5 = entries?.agenthifive;
314
+ const pluginConfig = ah5?.config;
315
+ const baseUrl = pluginConfig?.baseUrl;
316
+ if (!baseUrl) {
317
+ info("(skipped — no vault baseUrl)");
318
+ return;
319
+ }
320
+ // Health check
321
+ try {
322
+ const response = await fetch(`${baseUrl}/v1/health`, {
323
+ signal: AbortSignal.timeout(5_000),
324
+ });
325
+ if (response.ok) {
326
+ ok(`Vault reachable at ${baseUrl} (${response.status})`);
327
+ }
328
+ else {
329
+ fail(`Vault returned ${response.status} at ${baseUrl}/v1/health`);
330
+ }
331
+ }
332
+ catch (err) {
333
+ fail(`Cannot reach vault: ${err instanceof Error ? err.message : String(err)}`);
334
+ }
335
+ }
336
+ function checkBackups(install) {
337
+ heading("Backups");
338
+ const distDir = path.join(install.dir, "dist");
339
+ if (!existsSync(distDir)) {
340
+ info("(no dist/ directory)");
341
+ return;
342
+ }
343
+ const backups = readdirSync(distDir).filter((f) => f.endsWith(".js.bak"));
344
+ if (backups.length > 0) {
345
+ ok(`${backups.length} backup(s): ${backups.join(", ")}`);
346
+ }
347
+ else {
348
+ info("No backup files");
349
+ }
350
+ }
351
+ // ---------------------------------------------------------------------------
352
+ // Main
353
+ // ---------------------------------------------------------------------------
354
+ export async function runVerify(openclawDir) {
355
+ process.stdout.write("\n AgentHiFive Installation Verification\n");
356
+ process.stdout.write(" ═══════════════════════════════════════════\n");
357
+ // 1. Installation
358
+ const install = checkInstallation(openclawDir);
359
+ if (!install) {
360
+ process.stdout.write(`\n ${RED}Verification failed — OpenClaw not found${NC}\n\n`);
361
+ return false;
362
+ }
363
+ // 2. Chunks
364
+ const { total, patched, unpatched } = checkChunks(install);
365
+ // 3. Runtime bridge
366
+ checkRuntimeBridge(install);
367
+ // 4. Plugin
368
+ checkPlugin();
369
+ // 5. Config
370
+ checkConfig();
371
+ // 6. Vault connectivity
372
+ const configPath = resolveOpenClawConfigPath();
373
+ await checkVaultConnectivity(configPath);
374
+ // 7. Backups
375
+ checkBackups(install);
376
+ // Summary
377
+ process.stdout.write("\n ═══════════════════════════════════════════\n");
378
+ if (!_hasFailures && total > 0 && unpatched === 0) {
379
+ process.stdout.write(` ${GREEN}All checks passed — ${patched}/${total} chunk(s) patched${NC}\n\n`);
380
+ return true;
381
+ }
382
+ else if (unpatched > 0 && !_hasFailures) {
383
+ process.stdout.write(` ${YELLOW}${unpatched} chunk(s) need patching${NC}\n`);
384
+ process.stdout.write(` Run setup again to apply:\n`);
385
+ process.stdout.write(` npx @agenthifive/openclaw-setup --base-url <url> --bootstrap-secret <secret>\n\n`);
386
+ return false;
387
+ }
388
+ else {
389
+ process.stdout.write(` ${RED}Issues found — see above${NC}\n\n`);
390
+ return false;
391
+ }
392
+ }
393
+ //# sourceMappingURL=verify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../src/verify.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenthifive/openclaw-setup",
3
- "version": "0.2.6",
3
+ "version": "0.2.7",
4
4
  "type": "module",
5
5
  "bin": {
6
6
  "ah5-setup": "dist/cli.js"