@agenthifive/openclaw-setup 0.2.8 → 0.2.10
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 +5 -7
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +21 -17
- package/dist/cli.js.map +1 -1
- package/dist/config-discovery.d.ts +1 -0
- package/dist/config-discovery.d.ts.map +1 -1
- package/dist/config-discovery.js +33 -17
- package/dist/config-discovery.js.map +1 -1
- package/dist/setup-wizard.d.ts +10 -8
- package/dist/setup-wizard.d.ts.map +1 -1
- package/dist/setup-wizard.js +505 -137
- package/dist/setup-wizard.js.map +1 -1
- package/package.json +1 -1
package/dist/cli.d.ts
CHANGED
|
@@ -2,16 +2,14 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* AgentHiFive Setup CLI
|
|
4
4
|
*
|
|
5
|
-
* Standalone CLI
|
|
6
|
-
* 1. Ensures OpenClaw is installed and onboarded
|
|
7
|
-
* 2. Installs the @agenthifive/openclaw plugin
|
|
8
|
-
* 3. Bootstraps agent auth with the vault
|
|
9
|
-
* 4. Writes plugin config to openclaw.json
|
|
10
|
-
* 5. Patches OpenClaw for credential proxying
|
|
5
|
+
* Standalone CLI for managing OpenClaw + AgentHiFive vault integration.
|
|
11
6
|
*
|
|
12
|
-
*
|
|
7
|
+
* Modes:
|
|
8
|
+
* (interactive menu) — first-time setup, change LLM, or reconnect
|
|
9
|
+
* --verify — check an existing installation (no changes)
|
|
13
10
|
*
|
|
14
11
|
* Usage:
|
|
12
|
+
* npx @agenthifive/openclaw-setup
|
|
15
13
|
* npx @agenthifive/openclaw-setup --base-url https://app.agenthifive.com --bootstrap-secret ah5b_...
|
|
16
14
|
* npx @agenthifive/openclaw-setup --verify [--openclaw-dir /path/to/openclaw]
|
|
17
15
|
*/
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG"}
|
package/dist/cli.js
CHANGED
|
@@ -2,16 +2,14 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* AgentHiFive Setup CLI
|
|
4
4
|
*
|
|
5
|
-
* Standalone CLI
|
|
6
|
-
* 1. Ensures OpenClaw is installed and onboarded
|
|
7
|
-
* 2. Installs the @agenthifive/openclaw plugin
|
|
8
|
-
* 3. Bootstraps agent auth with the vault
|
|
9
|
-
* 4. Writes plugin config to openclaw.json
|
|
10
|
-
* 5. Patches OpenClaw for credential proxying
|
|
5
|
+
* Standalone CLI for managing OpenClaw + AgentHiFive vault integration.
|
|
11
6
|
*
|
|
12
|
-
*
|
|
7
|
+
* Modes:
|
|
8
|
+
* (interactive menu) — first-time setup, change LLM, or reconnect
|
|
9
|
+
* --verify — check an existing installation (no changes)
|
|
13
10
|
*
|
|
14
11
|
* Usage:
|
|
12
|
+
* npx @agenthifive/openclaw-setup
|
|
15
13
|
* npx @agenthifive/openclaw-setup --base-url https://app.agenthifive.com --bootstrap-secret ah5b_...
|
|
16
14
|
* npx @agenthifive/openclaw-setup --verify [--openclaw-dir /path/to/openclaw]
|
|
17
15
|
*/
|
|
@@ -22,25 +20,31 @@ if (args.includes("--help") || args.includes("-h")) {
|
|
|
22
20
|
process.stdout.write(`
|
|
23
21
|
AgentHiFive Setup CLI
|
|
24
22
|
|
|
25
|
-
Sets up OpenClaw with AgentHiFive vault integration
|
|
26
|
-
|
|
27
|
-
and model selection.
|
|
23
|
+
Sets up OpenClaw with AgentHiFive vault integration.
|
|
24
|
+
Run without flags for an interactive menu.
|
|
28
25
|
|
|
29
26
|
Usage:
|
|
30
|
-
ah5-setup
|
|
31
|
-
|
|
27
|
+
ah5-setup Interactive menu
|
|
28
|
+
ah5-setup --base-url <url> --bootstrap-secret <secret> First-time setup
|
|
29
|
+
ah5-setup --mode change-model Change default LLM model
|
|
30
|
+
ah5-setup --mode reconnect --bootstrap-secret <secret> Reconnect to vault
|
|
31
|
+
ah5-setup --verify Check existing installation
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
|
|
33
|
+
Modes (--mode):
|
|
34
|
+
setup First-time setup (default when --base-url given)
|
|
35
|
+
change-model Re-pick default LLM model using existing auth
|
|
36
|
+
reconnect New bootstrap secret, re-auth, update config
|
|
35
37
|
|
|
36
|
-
|
|
38
|
+
Options:
|
|
37
39
|
--base-url <url> AgentHiFive API base URL
|
|
38
40
|
--bootstrap-secret <secret> Bootstrap secret from dashboard (ah5b_...)
|
|
41
|
+
--default-model <model> Default LLM model (e.g., openai/gpt-4.1)
|
|
39
42
|
--config-path <path> Explicit OpenClaw config file path
|
|
40
43
|
--openclaw-dir <path> Explicit OpenClaw installation directory
|
|
41
|
-
--non-interactive Run without prompts
|
|
44
|
+
--non-interactive Run without prompts
|
|
42
45
|
--skip-onboard Skip OpenClaw onboard step
|
|
43
46
|
--skip-plugin-install Skip plugin installation step
|
|
47
|
+
--verify Check an existing installation (no changes made)
|
|
44
48
|
-h, --help Show this help message
|
|
45
49
|
|
|
46
50
|
`);
|
|
@@ -63,7 +67,7 @@ if (args.includes("--verify")) {
|
|
|
63
67
|
});
|
|
64
68
|
}
|
|
65
69
|
else {
|
|
66
|
-
// Setup
|
|
70
|
+
// Setup / change-model / reconnect
|
|
67
71
|
const opts = parseSetupArgs(args);
|
|
68
72
|
runSetup(opts).catch((err) => {
|
|
69
73
|
const message = err instanceof Error ? err.message : String(err);
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;GAaG;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BtB,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,mCAAmC;IACnC,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"}
|
|
@@ -35,6 +35,7 @@ export declare function readExistingConfig(configPath: string): Record<string, u
|
|
|
35
35
|
* - Adds `"agenthifive"` to `plugins.allow` (deduped)
|
|
36
36
|
* - Replaces `plugins.entries.agenthifive` entirely
|
|
37
37
|
* - Merges `models.providers` for LLM proxy baseUrl entries
|
|
38
|
+
* - Merges `agents.defaults` for default model selection
|
|
38
39
|
* - Preserves ALL other keys untouched
|
|
39
40
|
*/
|
|
40
41
|
export declare function mergePluginConfig(existing: Record<string, unknown>, pluginBlock: Record<string, unknown>): Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-discovery.d.ts","sourceRoot":"","sources":["../src/config-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiDH;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAgCf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAED
|
|
1
|
+
{"version":3,"file":"config-discovery.d.ts","sourceRoot":"","sources":["../src/config-discovery.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAiDH;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,GAAG,IAAI,CAgCf;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAMD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,GACjB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiBzB;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACnC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiEzB"}
|
package/dist/config-discovery.js
CHANGED
|
@@ -125,29 +125,32 @@ export function readExistingConfig(configPath) {
|
|
|
125
125
|
* - Adds `"agenthifive"` to `plugins.allow` (deduped)
|
|
126
126
|
* - Replaces `plugins.entries.agenthifive` entirely
|
|
127
127
|
* - Merges `models.providers` for LLM proxy baseUrl entries
|
|
128
|
+
* - Merges `agents.defaults` for default model selection
|
|
128
129
|
* - Preserves ALL other keys untouched
|
|
129
130
|
*/
|
|
130
131
|
export function mergePluginConfig(existing, pluginBlock) {
|
|
131
132
|
const result = { ...existing };
|
|
132
133
|
// Extract our plugin config from the block buildConfigOutput() produces
|
|
133
134
|
const srcPlugins = pluginBlock.plugins;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
135
|
+
if (srcPlugins) {
|
|
136
|
+
const srcEntries = srcPlugins.entries ?? {};
|
|
137
|
+
// Build merged plugins object
|
|
138
|
+
const plugins = {
|
|
139
|
+
...(result.plugins ?? {}),
|
|
140
|
+
};
|
|
141
|
+
plugins.enabled = true;
|
|
142
|
+
// Merge allow list
|
|
143
|
+
const allow = new Set(plugins.allow ?? []);
|
|
144
|
+
allow.add("agenthifive");
|
|
145
|
+
plugins.allow = [...allow];
|
|
146
|
+
// Replace agenthifive entry entirely (fresh bootstrap replaces old)
|
|
147
|
+
const entries = {
|
|
148
|
+
...(plugins.entries ?? {}),
|
|
149
|
+
};
|
|
150
|
+
entries.agenthifive = srcEntries.agenthifive;
|
|
151
|
+
plugins.entries = entries;
|
|
152
|
+
result.plugins = plugins;
|
|
153
|
+
}
|
|
151
154
|
// Merge models.providers (LLM proxy baseUrl entries)
|
|
152
155
|
const srcModels = pluginBlock.models;
|
|
153
156
|
if (srcModels?.providers) {
|
|
@@ -164,6 +167,19 @@ export function mergePluginConfig(existing, pluginBlock) {
|
|
|
164
167
|
models.providers = providers;
|
|
165
168
|
result.models = models;
|
|
166
169
|
}
|
|
170
|
+
// Merge agents.defaults (default model selection)
|
|
171
|
+
const srcAgents = pluginBlock.agents;
|
|
172
|
+
if (srcAgents?.defaults) {
|
|
173
|
+
const agents = {
|
|
174
|
+
...(result.agents ?? {}),
|
|
175
|
+
};
|
|
176
|
+
const defaults = {
|
|
177
|
+
...(agents.defaults ?? {}),
|
|
178
|
+
...srcAgents.defaults,
|
|
179
|
+
};
|
|
180
|
+
agents.defaults = defaults;
|
|
181
|
+
result.agents = agents;
|
|
182
|
+
}
|
|
167
183
|
return result;
|
|
168
184
|
}
|
|
169
185
|
//# sourceMappingURL=config-discovery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-discovery.js","sourceRoot":"","sources":["../src/config-discovery.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config-discovery.js","sourceRoot":"","sources":["../src/config-discovery.ts"],"names":[],"mappings":"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"}
|
package/dist/setup-wizard.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AgentHiFive standalone setup CLI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 6. Writes plugin config to openclaw.json
|
|
11
|
-
* 7. Patches OpenClaw for credential proxying
|
|
4
|
+
* Three modes of operation:
|
|
5
|
+
* 1. First-time setup — full install + auth + config + patch
|
|
6
|
+
* 2. Change default LLM — re-pick model using existing auth
|
|
7
|
+
* 3. Reconnect to vault — new bootstrap secret, re-auth, update config + re-patch
|
|
8
|
+
*
|
|
9
|
+
* Plus --verify for diagnostics (handled in cli.ts).
|
|
12
10
|
*/
|
|
11
|
+
export type SetupMode = "setup" | "change-model" | "reconnect" | "verify";
|
|
13
12
|
export interface SetupOptions {
|
|
13
|
+
mode?: SetupMode;
|
|
14
14
|
baseUrl?: string;
|
|
15
15
|
bootstrapSecret?: string;
|
|
16
16
|
nonInteractive?: boolean;
|
|
@@ -18,6 +18,7 @@ export interface SetupOptions {
|
|
|
18
18
|
openclawDir?: string;
|
|
19
19
|
skipOnboard?: boolean;
|
|
20
20
|
skipPluginInstall?: boolean;
|
|
21
|
+
defaultModel?: string;
|
|
21
22
|
}
|
|
22
23
|
export declare function buildConfigOutput(params: {
|
|
23
24
|
baseUrl: string;
|
|
@@ -26,6 +27,7 @@ export declare function buildConfigOutput(params: {
|
|
|
26
27
|
connections: Record<string, string>;
|
|
27
28
|
connectedProviders: string[];
|
|
28
29
|
proxiedProviders: string[];
|
|
30
|
+
defaultModel?: string | undefined;
|
|
29
31
|
}): object;
|
|
30
32
|
export declare function runSetup(opts?: SetupOptions): Promise<void>;
|
|
31
33
|
export declare function parseSetupArgs(args: string[]): SetupOptions;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"setup-wizard.d.ts","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAwBH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,cAAc,GAAG,WAAW,GAAG,QAAQ,CAAC;AAE1E,MAAM,WAAW,YAAY;IAC3B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiLD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC,GAAG,MAAM,CA8CT;AAouBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BrE;AAmCD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,YAAY,CAmC3D"}
|
package/dist/setup-wizard.js
CHANGED
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* AgentHiFive standalone setup CLI.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* 1.
|
|
6
|
-
* 2.
|
|
7
|
-
* 3.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
* 6. Writes plugin config to openclaw.json
|
|
11
|
-
* 7. Patches OpenClaw for credential proxying
|
|
4
|
+
* Three modes of operation:
|
|
5
|
+
* 1. First-time setup — full install + auth + config + patch
|
|
6
|
+
* 2. Change default LLM — re-pick model using existing auth
|
|
7
|
+
* 3. Reconnect to vault — new bootstrap secret, re-auth, update config + re-patch
|
|
8
|
+
*
|
|
9
|
+
* Plus --verify for diagnostics (handled in cli.ts).
|
|
12
10
|
*/
|
|
13
11
|
import { execSync } from "node:child_process";
|
|
14
12
|
import { mkdirSync, writeFileSync, existsSync, readdirSync } from "node:fs";
|
|
@@ -45,11 +43,9 @@ function isOpenClawInstalled() {
|
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
45
|
function isOnboarded() {
|
|
48
|
-
// Check for existing config file
|
|
49
46
|
const configPath = resolveOpenClawConfigPath();
|
|
50
47
|
if (configPath)
|
|
51
48
|
return true;
|
|
52
|
-
// Check if state directory at least exists
|
|
53
49
|
const stateDir = path.join(os.homedir(), ".openclaw");
|
|
54
50
|
return existsSync(stateDir);
|
|
55
51
|
}
|
|
@@ -57,7 +53,6 @@ function isPluginInstalled() {
|
|
|
57
53
|
const extensionsDir = path.join(os.homedir(), ".openclaw", "extensions");
|
|
58
54
|
if (!existsSync(extensionsDir))
|
|
59
55
|
return false;
|
|
60
|
-
// Check for agenthifive directory in extensions
|
|
61
56
|
try {
|
|
62
57
|
const entries = readdirSync(extensionsDir);
|
|
63
58
|
return entries.some((e) => e === "agenthifive" || e === "@agenthifive");
|
|
@@ -153,7 +148,12 @@ export function buildConfigOutput(params) {
|
|
|
153
148
|
models: DEFAULT_MODELS[provider] ?? [{ id: "default", name: "Default" }],
|
|
154
149
|
};
|
|
155
150
|
}
|
|
151
|
+
// Build agents.defaults.model if a default model is specified
|
|
152
|
+
const agentsBlock = params.defaultModel
|
|
153
|
+
? { defaults: { model: params.defaultModel } }
|
|
154
|
+
: undefined;
|
|
156
155
|
return {
|
|
156
|
+
...(agentsBlock ? { agents: agentsBlock } : {}),
|
|
157
157
|
models: {
|
|
158
158
|
providers: modelProviders,
|
|
159
159
|
},
|
|
@@ -179,28 +179,289 @@ export function buildConfigOutput(params) {
|
|
|
179
179
|
},
|
|
180
180
|
};
|
|
181
181
|
}
|
|
182
|
+
function classifyConnections(vaultConnections) {
|
|
183
|
+
const connections = {};
|
|
184
|
+
const connectedProviders = [];
|
|
185
|
+
const proxiedProviders = [];
|
|
186
|
+
const seenServices = new Set();
|
|
187
|
+
for (const conn of vaultConnections) {
|
|
188
|
+
const openclawName = SUPPORTED_SERVICES[conn.service] ?? conn.service;
|
|
189
|
+
connections[openclawName] = conn.connectionId ?? "vault-managed";
|
|
190
|
+
if (seenServices.has(conn.service))
|
|
191
|
+
continue;
|
|
192
|
+
seenServices.add(conn.service);
|
|
193
|
+
connectedProviders.push(openclawName);
|
|
194
|
+
if (conn.category === "llm") {
|
|
195
|
+
proxiedProviders.push(openclawName);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
return { connections, connectedProviders, proxiedProviders };
|
|
199
|
+
}
|
|
200
|
+
function logConnections(log, vaultConnections) {
|
|
201
|
+
if (vaultConnections.length > 0) {
|
|
202
|
+
log(" Services available to this agent:");
|
|
203
|
+
log(" " + "-".repeat(50));
|
|
204
|
+
const seenServices = new Set();
|
|
205
|
+
for (const conn of vaultConnections) {
|
|
206
|
+
if (seenServices.has(conn.service))
|
|
207
|
+
continue;
|
|
208
|
+
seenServices.add(conn.service);
|
|
209
|
+
const openclawName = SUPPORTED_SERVICES[conn.service] ?? conn.service;
|
|
210
|
+
const displayLabel = conn.displayName || openclawName;
|
|
211
|
+
log(` + ${displayLabel.padEnd(20)} (${integrationLabel(conn)})`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
log(" No connections found in the vault.");
|
|
216
|
+
log(" Add connections at the AgentHiFive dashboard.");
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
async function pickDefaultModel(log, proxiedProviders, opts) {
|
|
220
|
+
if (opts.defaultModel)
|
|
221
|
+
return opts.defaultModel;
|
|
222
|
+
if (proxiedProviders.length === 0)
|
|
223
|
+
return undefined;
|
|
224
|
+
const modelChoices = [];
|
|
225
|
+
for (const provider of proxiedProviders) {
|
|
226
|
+
const models = DEFAULT_MODELS[provider] ?? [];
|
|
227
|
+
for (const m of models) {
|
|
228
|
+
modelChoices.push({
|
|
229
|
+
display: `${provider}/${m.id} (${m.name})`,
|
|
230
|
+
value: `${provider}/${m.id}`,
|
|
231
|
+
});
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
if (modelChoices.length === 0)
|
|
235
|
+
return undefined;
|
|
236
|
+
log("");
|
|
237
|
+
log(" Choose a default LLM model:");
|
|
238
|
+
log(" " + "-".repeat(50));
|
|
239
|
+
for (let i = 0; i < modelChoices.length; i++) {
|
|
240
|
+
log(` ${i + 1}) ${modelChoices[i].display}`);
|
|
241
|
+
}
|
|
242
|
+
log("");
|
|
243
|
+
if (opts.nonInteractive) {
|
|
244
|
+
const model = modelChoices[0].value;
|
|
245
|
+
log(` Using default: ${model}`);
|
|
246
|
+
return model;
|
|
247
|
+
}
|
|
248
|
+
const answer = await prompt(" Enter number", "1");
|
|
249
|
+
const idx = parseInt(answer, 10) - 1;
|
|
250
|
+
if (idx >= 0 && idx < modelChoices.length) {
|
|
251
|
+
return modelChoices[idx].value;
|
|
252
|
+
}
|
|
253
|
+
const fallback = modelChoices[0].value;
|
|
254
|
+
log(` Invalid choice, using: ${fallback}`);
|
|
255
|
+
return fallback;
|
|
256
|
+
}
|
|
257
|
+
function resolveConfigPath(opts) {
|
|
258
|
+
return opts.configPath ?? resolveOpenClawConfigPath() ?? defaultConfigPath();
|
|
259
|
+
}
|
|
260
|
+
async function resolveConfigPathInteractive(opts) {
|
|
261
|
+
let configPath = opts.configPath ?? resolveOpenClawConfigPath();
|
|
262
|
+
if (!configPath && !opts.nonInteractive) {
|
|
263
|
+
const suggested = defaultConfigPath();
|
|
264
|
+
configPath = await prompt(" OpenClaw config path", suggested);
|
|
265
|
+
if (!configPath)
|
|
266
|
+
configPath = null;
|
|
267
|
+
}
|
|
268
|
+
return configPath ?? defaultConfigPath();
|
|
269
|
+
}
|
|
270
|
+
function writeConfig(log, configPath, configBlock, summary) {
|
|
271
|
+
const existing = readExistingConfig(configPath);
|
|
272
|
+
const hadExistingConfig = Object.keys(existing).length > 0;
|
|
273
|
+
const merged = mergePluginConfig(existing, configBlock);
|
|
274
|
+
mkdirSync(path.dirname(configPath), { recursive: true });
|
|
275
|
+
writeFileSync(configPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
|
|
276
|
+
log(` Config file: ${configPath}`);
|
|
277
|
+
if (hadExistingConfig) {
|
|
278
|
+
log(" Updated existing config:");
|
|
279
|
+
}
|
|
280
|
+
else {
|
|
281
|
+
log(" Created new config with:");
|
|
282
|
+
}
|
|
283
|
+
if (summary.agentId) {
|
|
284
|
+
log(` - Agent ID: ${summary.agentId.slice(0, 8)}...`);
|
|
285
|
+
}
|
|
286
|
+
if (summary.baseUrl) {
|
|
287
|
+
log(` - Vault URL: ${summary.baseUrl}`);
|
|
288
|
+
}
|
|
289
|
+
if (summary.connectedProviders && summary.connectedProviders.length > 0) {
|
|
290
|
+
log(` - Connected providers: ${summary.connectedProviders.join(", ")}`);
|
|
291
|
+
}
|
|
292
|
+
if (summary.proxiedProviders && summary.proxiedProviders.length > 0) {
|
|
293
|
+
log(` - LLM credential proxying: ${summary.proxiedProviders.join(", ")}`);
|
|
294
|
+
}
|
|
295
|
+
if (summary.defaultModel) {
|
|
296
|
+
log(` - Default model: ${summary.defaultModel}`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
function patchOpenClaw(log, opts) {
|
|
300
|
+
let openclawInstall = opts.openclawDir
|
|
301
|
+
? validateOpenClawDir(opts.openclawDir)
|
|
302
|
+
: findOpenClawInstallDir();
|
|
303
|
+
if (!openclawInstall && !opts.nonInteractive) {
|
|
304
|
+
// Can't use await here — this is a sync context.
|
|
305
|
+
// But we're always called from async context, so we'll handle this in callers.
|
|
306
|
+
}
|
|
307
|
+
if (openclawInstall) {
|
|
308
|
+
try {
|
|
309
|
+
const result = applyPatch(openclawInstall);
|
|
310
|
+
if (result.alreadyPatched) {
|
|
311
|
+
log(" Already enabled (no changes needed)");
|
|
312
|
+
}
|
|
313
|
+
else if (result.applied) {
|
|
314
|
+
log(" Enabled successfully");
|
|
315
|
+
}
|
|
316
|
+
else {
|
|
317
|
+
log(` WARNING: ${result.message}`);
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
catch (err) {
|
|
321
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
322
|
+
if (msg.includes("EACCES") || msg.includes("permission denied")) {
|
|
323
|
+
log(" ERROR: Permission denied. Try running with sudo:");
|
|
324
|
+
log(" sudo ah5-setup ...");
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
log(` WARNING: Could not enable credential proxying: ${msg}`);
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
else {
|
|
332
|
+
log(" WARNING: Could not find OpenClaw installation directory.");
|
|
333
|
+
log(" Run 'ah5-setup --openclaw-dir /path/to/openclaw' to enable later.");
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
async function patchOpenClawInteractive(log, opts) {
|
|
337
|
+
let openclawInstall = opts.openclawDir
|
|
338
|
+
? validateOpenClawDir(opts.openclawDir)
|
|
339
|
+
: findOpenClawInstallDir();
|
|
340
|
+
if (!openclawInstall && !opts.nonInteractive) {
|
|
341
|
+
const userPath = await prompt(" OpenClaw installation path (press Enter to skip)");
|
|
342
|
+
if (userPath) {
|
|
343
|
+
openclawInstall = validateOpenClawDir(userPath);
|
|
344
|
+
if (!openclawInstall) {
|
|
345
|
+
log(` WARNING: "${userPath}" does not appear to be an OpenClaw installation.`);
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
if (openclawInstall) {
|
|
350
|
+
try {
|
|
351
|
+
const result = applyPatch(openclawInstall);
|
|
352
|
+
if (result.alreadyPatched) {
|
|
353
|
+
log(" Already enabled (no changes needed)");
|
|
354
|
+
}
|
|
355
|
+
else if (result.applied) {
|
|
356
|
+
log(" Enabled successfully");
|
|
357
|
+
}
|
|
358
|
+
else {
|
|
359
|
+
log(` WARNING: ${result.message}`);
|
|
360
|
+
}
|
|
361
|
+
}
|
|
362
|
+
catch (err) {
|
|
363
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
364
|
+
if (msg.includes("EACCES") || msg.includes("permission denied")) {
|
|
365
|
+
log(" ERROR: Permission denied. Try running with sudo:");
|
|
366
|
+
log(" sudo ah5-setup ...");
|
|
367
|
+
}
|
|
368
|
+
else {
|
|
369
|
+
log(` WARNING: Could not enable credential proxying: ${msg}`);
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
else {
|
|
374
|
+
log(" WARNING: Could not find OpenClaw installation directory.");
|
|
375
|
+
log(" Run 'ah5-setup --openclaw-dir /path/to/openclaw' to enable later.");
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
function logDone(log, defaultModel, proxiedProviders) {
|
|
379
|
+
log("");
|
|
380
|
+
log(" " + "=".repeat(50));
|
|
381
|
+
log(" Done!");
|
|
382
|
+
log("");
|
|
383
|
+
if (defaultModel) {
|
|
384
|
+
log(` Default model: ${defaultModel}`);
|
|
385
|
+
}
|
|
386
|
+
if (proxiedProviders && proxiedProviders.length > 0) {
|
|
387
|
+
log(" The vault provides the API key — no local key needed.");
|
|
388
|
+
}
|
|
389
|
+
log("");
|
|
390
|
+
log(" To change models, type /models inside an OpenClaw chat session.");
|
|
391
|
+
log(" To manage connections: https://app.agenthifive.com");
|
|
392
|
+
log("");
|
|
393
|
+
}
|
|
394
|
+
function extractExistingAuth(configPath) {
|
|
395
|
+
const config = readExistingConfig(configPath);
|
|
396
|
+
try {
|
|
397
|
+
const plugins = config.plugins;
|
|
398
|
+
if (!plugins)
|
|
399
|
+
return null;
|
|
400
|
+
const entries = plugins.entries;
|
|
401
|
+
if (!entries)
|
|
402
|
+
return null;
|
|
403
|
+
const ah5 = entries.agenthifive;
|
|
404
|
+
if (!ah5)
|
|
405
|
+
return null;
|
|
406
|
+
const ah5Config = ah5.config;
|
|
407
|
+
if (!ah5Config)
|
|
408
|
+
return null;
|
|
409
|
+
const baseUrl = ah5Config.baseUrl;
|
|
410
|
+
const auth = ah5Config.auth;
|
|
411
|
+
if (!baseUrl || !auth)
|
|
412
|
+
return null;
|
|
413
|
+
const agentId = auth.agentId;
|
|
414
|
+
const privateKeyB64 = auth.privateKey;
|
|
415
|
+
if (!agentId || !privateKeyB64)
|
|
416
|
+
return null;
|
|
417
|
+
const privateKey = JSON.parse(Buffer.from(privateKeyB64, "base64").toString("utf-8"));
|
|
418
|
+
return { baseUrl, agentId, privateKey };
|
|
419
|
+
}
|
|
420
|
+
catch {
|
|
421
|
+
return null;
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
// ---------------------------------------------------------------------------
|
|
425
|
+
// Mode: Interactive menu
|
|
426
|
+
// ---------------------------------------------------------------------------
|
|
427
|
+
async function showMenu(log) {
|
|
428
|
+
log("");
|
|
429
|
+
log(" AgentHiFive Setup");
|
|
430
|
+
log(" " + "=".repeat(40));
|
|
431
|
+
log("");
|
|
432
|
+
log(" What would you like to do?");
|
|
433
|
+
log("");
|
|
434
|
+
log(" 1) First-time setup Full install + auth + config + patch");
|
|
435
|
+
log(" 2) Change default LLM Re-pick model, update config");
|
|
436
|
+
log(" 3) Reconnect to vault New bootstrap secret, re-auth");
|
|
437
|
+
log(" 4) Verify installation Check everything is working");
|
|
438
|
+
log("");
|
|
439
|
+
const answer = await prompt(" Enter number", "1");
|
|
440
|
+
switch (answer) {
|
|
441
|
+
case "2": return "change-model";
|
|
442
|
+
case "3": return "reconnect";
|
|
443
|
+
case "4": return "verify";
|
|
444
|
+
default: return "setup";
|
|
445
|
+
}
|
|
446
|
+
}
|
|
182
447
|
// ---------------------------------------------------------------------------
|
|
183
|
-
//
|
|
448
|
+
// Mode 1: First-time setup (full flow)
|
|
184
449
|
// ---------------------------------------------------------------------------
|
|
185
450
|
const ONBOARD_CMD = "openclaw onboard --non-interactive --accept-risk --auth-choice skip " +
|
|
186
451
|
"--install-daemon --skip-channels --skip-skills --skip-search --skip-health --skip-ui";
|
|
187
|
-
|
|
452
|
+
async function runFirstTimeSetup(opts) {
|
|
188
453
|
const log = (msg) => process.stdout.write(`${msg}\n`);
|
|
189
454
|
log("");
|
|
190
|
-
log("
|
|
191
|
-
log(" " + "
|
|
455
|
+
log(" First-time Setup");
|
|
456
|
+
log(" " + "-".repeat(40));
|
|
192
457
|
log("");
|
|
193
|
-
//
|
|
194
|
-
// Step 1: Check OpenClaw is installed
|
|
195
|
-
// -----------------------------------------------------------------------
|
|
458
|
+
// Step 1: Check OpenClaw
|
|
196
459
|
if (!isOpenClawInstalled()) {
|
|
197
460
|
throw new Error("OpenClaw is not installed. Install it first:\n\n" +
|
|
198
461
|
" npm install -g openclaw@latest\n");
|
|
199
462
|
}
|
|
200
463
|
log(" [1/7] OpenClaw found on this machine");
|
|
201
|
-
//
|
|
202
|
-
// Step 2: Auto-onboard if needed
|
|
203
|
-
// -----------------------------------------------------------------------
|
|
464
|
+
// Step 2: Onboard
|
|
204
465
|
if (!opts.skipOnboard && !isOnboarded()) {
|
|
205
466
|
log(" [2/7] OpenClaw has not been set up yet. Running initial setup:");
|
|
206
467
|
log(` $ ${ONBOARD_CMD}`);
|
|
@@ -217,9 +478,7 @@ export async function runSetup(opts = {}) {
|
|
|
217
478
|
else {
|
|
218
479
|
log(" [2/7] OpenClaw already set up");
|
|
219
480
|
}
|
|
220
|
-
//
|
|
221
|
-
// Step 3: Install plugin if needed
|
|
222
|
-
// -----------------------------------------------------------------------
|
|
481
|
+
// Step 3: Install plugin
|
|
223
482
|
if (!opts.skipPluginInstall && !isPluginInstalled()) {
|
|
224
483
|
log(" [3/7] Installing AgentHiFive plugin into OpenClaw...");
|
|
225
484
|
log("");
|
|
@@ -232,7 +491,6 @@ export async function runSetup(opts = {}) {
|
|
|
232
491
|
throw new Error("Plugin installation failed. Try manually:\n\n" +
|
|
233
492
|
" openclaw plugins install @agenthifive/openclaw\n");
|
|
234
493
|
}
|
|
235
|
-
// Restart gateway so the plugin gets loaded
|
|
236
494
|
try {
|
|
237
495
|
execSync("openclaw gateway restart", { stdio: "pipe" });
|
|
238
496
|
}
|
|
@@ -244,9 +502,7 @@ export async function runSetup(opts = {}) {
|
|
|
244
502
|
else {
|
|
245
503
|
log(" [3/7] AgentHiFive plugin already installed");
|
|
246
504
|
}
|
|
247
|
-
//
|
|
248
|
-
// Step 4: Base URL + Bootstrap secret
|
|
249
|
-
// -----------------------------------------------------------------------
|
|
505
|
+
// Step 4: Bootstrap auth
|
|
250
506
|
let baseUrl = opts.baseUrl;
|
|
251
507
|
if (!baseUrl) {
|
|
252
508
|
if (opts.nonInteractive) {
|
|
@@ -293,9 +549,7 @@ export async function runSetup(opts = {}) {
|
|
|
293
549
|
outputMinimalConfig(log, baseUrl, agentId, privateKey);
|
|
294
550
|
return;
|
|
295
551
|
}
|
|
296
|
-
// -----------------------------------------------------------------------
|
|
297
552
|
// Step 5: Fetch capabilities
|
|
298
|
-
// -----------------------------------------------------------------------
|
|
299
553
|
log(" [5/7] Fetching connections available in the vault for this agent...");
|
|
300
554
|
let vaultConnections = [];
|
|
301
555
|
try {
|
|
@@ -305,36 +559,12 @@ export async function runSetup(opts = {}) {
|
|
|
305
559
|
log(` WARNING: Could not fetch capabilities: ${err instanceof Error ? err.message : String(err)}`);
|
|
306
560
|
}
|
|
307
561
|
tokenManager.stop();
|
|
308
|
-
// Show connection status
|
|
309
|
-
const connections = {};
|
|
310
|
-
const connectedProviders = [];
|
|
311
|
-
const proxiedProviders = [];
|
|
312
|
-
const seenServices = new Set();
|
|
313
562
|
log("");
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
connections[openclawName] = conn.connectionId ?? "vault-managed";
|
|
320
|
-
if (seenServices.has(conn.service))
|
|
321
|
-
continue;
|
|
322
|
-
seenServices.add(conn.service);
|
|
323
|
-
const displayLabel = conn.displayName || openclawName;
|
|
324
|
-
log(` + ${displayLabel.padEnd(20)} (${integrationLabel(conn)})`);
|
|
325
|
-
connectedProviders.push(openclawName);
|
|
326
|
-
if (conn.category === "llm") {
|
|
327
|
-
proxiedProviders.push(openclawName);
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
}
|
|
331
|
-
else {
|
|
332
|
-
log(" No connections found in the vault.");
|
|
333
|
-
log(" Add connections at the AgentHiFive dashboard.");
|
|
334
|
-
}
|
|
335
|
-
// -----------------------------------------------------------------------
|
|
336
|
-
// Step 6: Build + write config
|
|
337
|
-
// -----------------------------------------------------------------------
|
|
563
|
+
logConnections(log, vaultConnections);
|
|
564
|
+
const { connections, connectedProviders, proxiedProviders } = classifyConnections(vaultConnections);
|
|
565
|
+
// Step 5b: Choose default LLM model
|
|
566
|
+
const defaultModel = await pickDefaultModel(log, proxiedProviders, opts);
|
|
567
|
+
// Step 6: Write config
|
|
338
568
|
log("");
|
|
339
569
|
log(" [6/7] Saving AgentHiFive configuration...");
|
|
340
570
|
const configBlock = buildConfigOutput({
|
|
@@ -344,39 +574,13 @@ export async function runSetup(opts = {}) {
|
|
|
344
574
|
connections,
|
|
345
575
|
connectedProviders,
|
|
346
576
|
proxiedProviders,
|
|
577
|
+
defaultModel,
|
|
347
578
|
});
|
|
348
|
-
|
|
349
|
-
if (!configPath && !opts.nonInteractive) {
|
|
350
|
-
const suggested = defaultConfigPath();
|
|
351
|
-
configPath = await prompt(" OpenClaw config path", suggested);
|
|
352
|
-
if (!configPath)
|
|
353
|
-
configPath = null;
|
|
354
|
-
}
|
|
355
|
-
if (!configPath) {
|
|
356
|
-
configPath = defaultConfigPath();
|
|
357
|
-
}
|
|
579
|
+
const configPath = await resolveConfigPathInteractive(opts);
|
|
358
580
|
try {
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
mkdirSync(path.dirname(configPath), { recursive: true });
|
|
363
|
-
writeFileSync(configPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
|
|
364
|
-
log(` Config file: ${configPath}`);
|
|
365
|
-
if (hadExistingConfig) {
|
|
366
|
-
log(" Added to existing config:");
|
|
367
|
-
}
|
|
368
|
-
else {
|
|
369
|
-
log(" Created new config with:");
|
|
370
|
-
}
|
|
371
|
-
log(` - AgentHiFive plugin enabled`);
|
|
372
|
-
log(` - Agent ID: ${agentId.slice(0, 8)}...`);
|
|
373
|
-
log(` - Vault URL: ${baseUrl}`);
|
|
374
|
-
if (connectedProviders.length > 0) {
|
|
375
|
-
log(` - Connected providers: ${connectedProviders.join(", ")}`);
|
|
376
|
-
}
|
|
377
|
-
if (proxiedProviders.length > 0) {
|
|
378
|
-
log(` - LLM credential proxying: ${proxiedProviders.join(", ")}`);
|
|
379
|
-
}
|
|
581
|
+
writeConfig(log, configPath, configBlock, {
|
|
582
|
+
agentId, baseUrl, connectedProviders, proxiedProviders, defaultModel,
|
|
583
|
+
});
|
|
380
584
|
}
|
|
381
585
|
catch (err) {
|
|
382
586
|
log(` WARNING: Could not write config: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -384,66 +588,219 @@ export async function runSetup(opts = {}) {
|
|
|
384
588
|
log(" Add this to your openclaw.json manually:");
|
|
385
589
|
log(JSON.stringify(configBlock, null, 2));
|
|
386
590
|
}
|
|
387
|
-
//
|
|
388
|
-
// Step 7: Patch OpenClaw for vault credential proxying
|
|
389
|
-
// -----------------------------------------------------------------------
|
|
591
|
+
// Step 7: Patch
|
|
390
592
|
log("");
|
|
391
593
|
log(" [7/7] Enabling vault credential proxying...");
|
|
392
594
|
log(" This modifies OpenClaw so it can fetch API keys from the vault");
|
|
393
595
|
log(" instead of requiring them to be stored locally.");
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
596
|
+
await patchOpenClawInteractive(log, opts);
|
|
597
|
+
logDone(log, defaultModel, proxiedProviders);
|
|
598
|
+
}
|
|
599
|
+
// ---------------------------------------------------------------------------
|
|
600
|
+
// Mode 2: Change default LLM model
|
|
601
|
+
// ---------------------------------------------------------------------------
|
|
602
|
+
async function runChangeModel(opts) {
|
|
603
|
+
const log = (msg) => process.stdout.write(`${msg}\n`);
|
|
604
|
+
log("");
|
|
605
|
+
log(" Change Default LLM Model");
|
|
606
|
+
log(" " + "-".repeat(40));
|
|
607
|
+
log("");
|
|
608
|
+
// Read existing config to get auth credentials
|
|
609
|
+
const configPath = resolveConfigPath(opts);
|
|
610
|
+
const existingAuth = extractExistingAuth(configPath);
|
|
611
|
+
if (!existingAuth) {
|
|
612
|
+
throw new Error("No existing AgentHiFive config found. Run first-time setup first.\n\n" +
|
|
613
|
+
" ah5-setup\n");
|
|
405
614
|
}
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
615
|
+
log(` Config: ${configPath}`);
|
|
616
|
+
log(` Vault: ${existingAuth.baseUrl}`);
|
|
617
|
+
log(` Agent: ${existingAuth.agentId.slice(0, 8)}...`);
|
|
618
|
+
log("");
|
|
619
|
+
// Use existing auth to fetch capabilities
|
|
620
|
+
log(" Fetching available LLM connections...");
|
|
621
|
+
const tokenManager = new VaultTokenManager({
|
|
622
|
+
baseUrl: existingAuth.baseUrl,
|
|
623
|
+
agentId: existingAuth.agentId,
|
|
624
|
+
privateKey: existingAuth.privateKey,
|
|
625
|
+
tokenAudience: existingAuth.baseUrl,
|
|
626
|
+
});
|
|
627
|
+
try {
|
|
628
|
+
await tokenManager.init();
|
|
629
|
+
}
|
|
630
|
+
catch (err) {
|
|
631
|
+
tokenManager.stop();
|
|
632
|
+
throw new Error(`Could not authenticate with vault: ${err instanceof Error ? err.message : String(err)}. ` +
|
|
633
|
+
"You may need to reconnect (option 3).");
|
|
634
|
+
}
|
|
635
|
+
let vaultConnections = [];
|
|
636
|
+
try {
|
|
637
|
+
vaultConnections = await fetchCapabilities(existingAuth.baseUrl, tokenManager.getToken());
|
|
638
|
+
}
|
|
639
|
+
catch (err) {
|
|
640
|
+
throw new Error(`Could not fetch capabilities: ${err instanceof Error ? err.message : String(err)}`);
|
|
641
|
+
}
|
|
642
|
+
finally {
|
|
643
|
+
tokenManager.stop();
|
|
644
|
+
}
|
|
645
|
+
const { proxiedProviders } = classifyConnections(vaultConnections);
|
|
646
|
+
if (proxiedProviders.length === 0) {
|
|
647
|
+
throw new Error("No LLM connections found. Add LLM connections at the AgentHiFive dashboard.");
|
|
648
|
+
}
|
|
649
|
+
// Pick model
|
|
650
|
+
const defaultModel = await pickDefaultModel(log, proxiedProviders, opts);
|
|
651
|
+
if (!defaultModel) {
|
|
652
|
+
log(" No model selected.");
|
|
653
|
+
return;
|
|
654
|
+
}
|
|
655
|
+
// Update only agents.defaults.model in existing config
|
|
656
|
+
const existing = readExistingConfig(configPath);
|
|
657
|
+
const agentsUpdate = { agents: { defaults: { model: defaultModel } } };
|
|
658
|
+
const merged = mergePluginConfig(existing, agentsUpdate);
|
|
659
|
+
writeFileSync(configPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
|
|
660
|
+
log("");
|
|
661
|
+
log(` Default model updated to: ${defaultModel}`);
|
|
662
|
+
log(` Config saved: ${configPath}`);
|
|
663
|
+
logDone(log, defaultModel, proxiedProviders);
|
|
664
|
+
}
|
|
665
|
+
// ---------------------------------------------------------------------------
|
|
666
|
+
// Mode 3: Reconnect to vault
|
|
667
|
+
// ---------------------------------------------------------------------------
|
|
668
|
+
async function runReconnect(opts) {
|
|
669
|
+
const log = (msg) => process.stdout.write(`${msg}\n`);
|
|
670
|
+
log("");
|
|
671
|
+
log(" Reconnect to Vault");
|
|
672
|
+
log(" " + "-".repeat(40));
|
|
673
|
+
log("");
|
|
674
|
+
// Read existing config for current vault URL as default
|
|
675
|
+
const configPath = resolveConfigPath(opts);
|
|
676
|
+
const existingAuth = extractExistingAuth(configPath);
|
|
677
|
+
const currentBaseUrl = existingAuth?.baseUrl ?? "https://app.agenthifive.com";
|
|
678
|
+
// Confirm/change vault URL
|
|
679
|
+
let baseUrl = opts.baseUrl;
|
|
680
|
+
if (!baseUrl) {
|
|
681
|
+
if (opts.nonInteractive) {
|
|
682
|
+
baseUrl = currentBaseUrl;
|
|
418
683
|
}
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
if (msg.includes("EACCES") || msg.includes("permission denied")) {
|
|
422
|
-
log(" ERROR: Permission denied. Try running with sudo:");
|
|
423
|
-
log(" sudo ah5-setup ...");
|
|
424
|
-
}
|
|
425
|
-
else {
|
|
426
|
-
log(` WARNING: Could not enable credential proxying: ${msg}`);
|
|
427
|
-
}
|
|
684
|
+
else {
|
|
685
|
+
baseUrl = await prompt(" AgentHiFive vault URL", currentBaseUrl);
|
|
428
686
|
}
|
|
429
687
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
688
|
+
baseUrl = baseUrl.replace(/\/+$/, "");
|
|
689
|
+
// New bootstrap secret
|
|
690
|
+
let bootstrapSecret = opts.bootstrapSecret;
|
|
691
|
+
if (!bootstrapSecret) {
|
|
692
|
+
if (opts.nonInteractive) {
|
|
693
|
+
throw new Error("--bootstrap-secret is required in non-interactive mode");
|
|
694
|
+
}
|
|
695
|
+
log("");
|
|
696
|
+
log(" Generate a new bootstrap secret from the AgentHiFive dashboard:");
|
|
697
|
+
log(" Dashboard -> Agents -> [your agent] -> Bootstrap Secret");
|
|
698
|
+
log(" The secret expires in 1 hour.");
|
|
699
|
+
log("");
|
|
700
|
+
bootstrapSecret = await prompt(" Bootstrap secret (ah5b_...)");
|
|
701
|
+
}
|
|
702
|
+
if (!bootstrapSecret.startsWith("ah5b_")) {
|
|
703
|
+
throw new Error("Bootstrap secrets must start with ah5b_");
|
|
433
704
|
}
|
|
434
|
-
//
|
|
435
|
-
// Done — show default model info
|
|
436
|
-
// -----------------------------------------------------------------------
|
|
705
|
+
// Bootstrap new auth
|
|
437
706
|
log("");
|
|
438
|
-
log("
|
|
439
|
-
|
|
707
|
+
log(" Connecting to vault...");
|
|
708
|
+
const { agentId, name, status, privateKey } = await bootstrapAgent(baseUrl, bootstrapSecret);
|
|
709
|
+
log(` Agent "${name}" registered (${agentId.slice(0, 8)}..., status: ${status})`);
|
|
710
|
+
// Verify token exchange
|
|
711
|
+
log(" Verifying secure token exchange...");
|
|
712
|
+
const tokenManager = new VaultTokenManager({
|
|
713
|
+
baseUrl,
|
|
714
|
+
agentId,
|
|
715
|
+
privateKey,
|
|
716
|
+
tokenAudience: baseUrl,
|
|
717
|
+
});
|
|
718
|
+
try {
|
|
719
|
+
await tokenManager.init();
|
|
720
|
+
log(" Connection established");
|
|
721
|
+
}
|
|
722
|
+
catch (err) {
|
|
723
|
+
tokenManager.stop();
|
|
724
|
+
throw new Error(`Token exchange failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
725
|
+
}
|
|
726
|
+
// Fetch capabilities
|
|
727
|
+
log(" Fetching connections...");
|
|
728
|
+
let vaultConnections = [];
|
|
729
|
+
try {
|
|
730
|
+
vaultConnections = await fetchCapabilities(baseUrl, tokenManager.getToken());
|
|
731
|
+
}
|
|
732
|
+
catch (err) {
|
|
733
|
+
log(` WARNING: Could not fetch capabilities: ${err instanceof Error ? err.message : String(err)}`);
|
|
734
|
+
}
|
|
735
|
+
tokenManager.stop();
|
|
440
736
|
log("");
|
|
441
|
-
log
|
|
442
|
-
|
|
737
|
+
logConnections(log, vaultConnections);
|
|
738
|
+
const { connections, connectedProviders, proxiedProviders } = classifyConnections(vaultConnections);
|
|
739
|
+
// Pick model
|
|
740
|
+
const defaultModel = await pickDefaultModel(log, proxiedProviders, opts);
|
|
741
|
+
// Write config (full rebuild of plugin + models + agents blocks)
|
|
443
742
|
log("");
|
|
444
|
-
log("
|
|
445
|
-
|
|
743
|
+
log(" Saving configuration...");
|
|
744
|
+
const configBlock = buildConfigOutput({
|
|
745
|
+
baseUrl,
|
|
746
|
+
agentId,
|
|
747
|
+
privateKey,
|
|
748
|
+
connections,
|
|
749
|
+
connectedProviders,
|
|
750
|
+
proxiedProviders,
|
|
751
|
+
defaultModel,
|
|
752
|
+
});
|
|
753
|
+
try {
|
|
754
|
+
writeConfig(log, configPath, configBlock, {
|
|
755
|
+
agentId, baseUrl, connectedProviders, proxiedProviders, defaultModel,
|
|
756
|
+
});
|
|
757
|
+
}
|
|
758
|
+
catch (err) {
|
|
759
|
+
log(` WARNING: Could not write config: ${err instanceof Error ? err.message : String(err)}`);
|
|
760
|
+
log("");
|
|
761
|
+
log(" Add this to your openclaw.json manually:");
|
|
762
|
+
log(JSON.stringify(configBlock, null, 2));
|
|
763
|
+
}
|
|
764
|
+
// Re-patch
|
|
446
765
|
log("");
|
|
766
|
+
log(" Re-applying vault credential proxy patch...");
|
|
767
|
+
await patchOpenClawInteractive(log, opts);
|
|
768
|
+
logDone(log, defaultModel, proxiedProviders);
|
|
769
|
+
}
|
|
770
|
+
// ---------------------------------------------------------------------------
|
|
771
|
+
// Main entry point
|
|
772
|
+
// ---------------------------------------------------------------------------
|
|
773
|
+
export async function runSetup(opts = {}) {
|
|
774
|
+
let mode = opts.mode;
|
|
775
|
+
// If no mode specified and not non-interactive, show menu
|
|
776
|
+
if (!mode) {
|
|
777
|
+
if (opts.nonInteractive) {
|
|
778
|
+
// Non-interactive defaults to full setup
|
|
779
|
+
mode = "setup";
|
|
780
|
+
}
|
|
781
|
+
else if (opts.baseUrl || opts.bootstrapSecret) {
|
|
782
|
+
// If setup flags are given explicitly, assume first-time setup
|
|
783
|
+
mode = "setup";
|
|
784
|
+
}
|
|
785
|
+
else {
|
|
786
|
+
mode = await showMenu((msg) => process.stdout.write(`${msg}\n`));
|
|
787
|
+
}
|
|
788
|
+
}
|
|
789
|
+
switch (mode) {
|
|
790
|
+
case "change-model":
|
|
791
|
+
return runChangeModel(opts);
|
|
792
|
+
case "reconnect":
|
|
793
|
+
return runReconnect(opts);
|
|
794
|
+
case "verify": {
|
|
795
|
+
const { runVerify } = await import("./verify.js");
|
|
796
|
+
const ok = await runVerify(opts.openclawDir);
|
|
797
|
+
if (!ok)
|
|
798
|
+
process.exit(1);
|
|
799
|
+
return;
|
|
800
|
+
}
|
|
801
|
+
default:
|
|
802
|
+
return runFirstTimeSetup(opts);
|
|
803
|
+
}
|
|
447
804
|
}
|
|
448
805
|
// ---------------------------------------------------------------------------
|
|
449
806
|
// Fallback: minimal config when token exchange fails
|
|
@@ -493,6 +850,17 @@ export function parseSetupArgs(args) {
|
|
|
493
850
|
if (val)
|
|
494
851
|
opts.openclawDir = val;
|
|
495
852
|
}
|
|
853
|
+
else if (arg === "--default-model" && args[i + 1]) {
|
|
854
|
+
const val = args[++i];
|
|
855
|
+
if (val)
|
|
856
|
+
opts.defaultModel = val;
|
|
857
|
+
}
|
|
858
|
+
else if (arg === "--mode" && args[i + 1]) {
|
|
859
|
+
const val = args[++i];
|
|
860
|
+
if (val === "setup" || val === "change-model" || val === "reconnect" || val === "verify") {
|
|
861
|
+
opts.mode = val;
|
|
862
|
+
}
|
|
863
|
+
}
|
|
496
864
|
else if (arg === "--non-interactive") {
|
|
497
865
|
opts.nonInteractive = true;
|
|
498
866
|
}
|
package/dist/setup-wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"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"}
|