@agenthifive/openclaw-setup 0.2.7 → 0.2.9
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 +14 -0
- 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 +515 -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,CA8DzB"}
|
package/dist/config-discovery.js
CHANGED
|
@@ -125,6 +125,7 @@ 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) {
|
|
@@ -164,6 +165,19 @@ export function mergePluginConfig(existing, pluginBlock) {
|
|
|
164
165
|
models.providers = providers;
|
|
165
166
|
result.models = models;
|
|
166
167
|
}
|
|
168
|
+
// Merge agents.defaults (default model selection)
|
|
169
|
+
const srcAgents = pluginBlock.agents;
|
|
170
|
+
if (srcAgents?.defaults) {
|
|
171
|
+
const agents = {
|
|
172
|
+
...(result.agents ?? {}),
|
|
173
|
+
};
|
|
174
|
+
const defaults = {
|
|
175
|
+
...(agents.defaults ?? {}),
|
|
176
|
+
...srcAgents.defaults,
|
|
177
|
+
};
|
|
178
|
+
agents.defaults = defaults;
|
|
179
|
+
result.agents = agents;
|
|
180
|
+
}
|
|
167
181
|
return result;
|
|
168
182
|
}
|
|
169
183
|
//# 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";
|
|
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,CAAC;AAE/D,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;AAkuBD,wBAAsB,QAAQ,CAAC,IAAI,GAAE,YAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrE;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");
|
|
@@ -121,20 +116,44 @@ function integrationLabel(conn) {
|
|
|
121
116
|
return "brokered API proxy";
|
|
122
117
|
return "auth managed";
|
|
123
118
|
}
|
|
119
|
+
const DEFAULT_MODELS = {
|
|
120
|
+
anthropic: [
|
|
121
|
+
{ id: "claude-opus-4-6", name: "Claude Opus 4.6", reasoning: true, input: ["text", "image"] },
|
|
122
|
+
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6", reasoning: true, input: ["text", "image"] },
|
|
123
|
+
],
|
|
124
|
+
openai: [
|
|
125
|
+
{ id: "gpt-4.1", name: "GPT-4.1", input: ["text", "image"] },
|
|
126
|
+
{ id: "o3", name: "o3", reasoning: true, input: ["text", "image"] },
|
|
127
|
+
],
|
|
128
|
+
gemini: [
|
|
129
|
+
{ id: "gemini-2.5-pro", name: "Gemini 2.5 Pro", reasoning: true, input: ["text", "image"] },
|
|
130
|
+
{ id: "gemini-2.5-flash", name: "Gemini 2.5 Flash", input: ["text", "image"] },
|
|
131
|
+
],
|
|
132
|
+
openrouter: [
|
|
133
|
+
{ id: "anthropic/claude-opus-4-6", name: "Claude Opus 4.6 (OpenRouter)", reasoning: true, input: ["text", "image"] },
|
|
134
|
+
],
|
|
135
|
+
};
|
|
124
136
|
// ---------------------------------------------------------------------------
|
|
125
137
|
// Config output builder
|
|
126
138
|
// ---------------------------------------------------------------------------
|
|
127
139
|
export function buildConfigOutput(params) {
|
|
128
140
|
// Build models.providers entries for LLM providers — redirect baseUrl
|
|
129
141
|
// to the vault's LLM proxy endpoint (Model B brokered).
|
|
142
|
+
// Each provider needs a `models` array (required by OpenClaw config schema).
|
|
130
143
|
const modelProviders = {};
|
|
131
144
|
for (const provider of params.proxiedProviders) {
|
|
132
145
|
modelProviders[provider] = {
|
|
133
146
|
baseUrl: `${params.baseUrl}/v1/vault/llm/${provider}`,
|
|
134
147
|
apiKey: "vault-managed",
|
|
148
|
+
models: DEFAULT_MODELS[provider] ?? [{ id: "default", name: "Default" }],
|
|
135
149
|
};
|
|
136
150
|
}
|
|
151
|
+
// Build agents.defaults.model if a default model is specified
|
|
152
|
+
const agentsBlock = params.defaultModel
|
|
153
|
+
? { defaults: { model: params.defaultModel } }
|
|
154
|
+
: undefined;
|
|
137
155
|
return {
|
|
156
|
+
...(agentsBlock ? { agents: agentsBlock } : {}),
|
|
138
157
|
models: {
|
|
139
158
|
providers: modelProviders,
|
|
140
159
|
},
|
|
@@ -160,28 +179,287 @@ export function buildConfigOutput(params) {
|
|
|
160
179
|
},
|
|
161
180
|
};
|
|
162
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("");
|
|
438
|
+
const answer = await prompt(" Enter number", "1");
|
|
439
|
+
switch (answer) {
|
|
440
|
+
case "2": return "change-model";
|
|
441
|
+
case "3": return "reconnect";
|
|
442
|
+
default: return "setup";
|
|
443
|
+
}
|
|
444
|
+
}
|
|
163
445
|
// ---------------------------------------------------------------------------
|
|
164
|
-
//
|
|
446
|
+
// Mode 1: First-time setup (full flow)
|
|
165
447
|
// ---------------------------------------------------------------------------
|
|
166
448
|
const ONBOARD_CMD = "openclaw onboard --non-interactive --accept-risk --auth-choice skip " +
|
|
167
449
|
"--install-daemon --skip-channels --skip-skills --skip-search --skip-health --skip-ui";
|
|
168
|
-
|
|
450
|
+
async function runFirstTimeSetup(opts) {
|
|
169
451
|
const log = (msg) => process.stdout.write(`${msg}\n`);
|
|
170
452
|
log("");
|
|
171
|
-
log("
|
|
172
|
-
log(" " + "
|
|
453
|
+
log(" First-time Setup");
|
|
454
|
+
log(" " + "-".repeat(40));
|
|
173
455
|
log("");
|
|
174
|
-
//
|
|
175
|
-
// Step 1: Check OpenClaw is installed
|
|
176
|
-
// -----------------------------------------------------------------------
|
|
456
|
+
// Step 1: Check OpenClaw
|
|
177
457
|
if (!isOpenClawInstalled()) {
|
|
178
458
|
throw new Error("OpenClaw is not installed. Install it first:\n\n" +
|
|
179
459
|
" npm install -g openclaw@latest\n");
|
|
180
460
|
}
|
|
181
461
|
log(" [1/7] OpenClaw found on this machine");
|
|
182
|
-
//
|
|
183
|
-
// Step 2: Auto-onboard if needed
|
|
184
|
-
// -----------------------------------------------------------------------
|
|
462
|
+
// Step 2: Onboard
|
|
185
463
|
if (!opts.skipOnboard && !isOnboarded()) {
|
|
186
464
|
log(" [2/7] OpenClaw has not been set up yet. Running initial setup:");
|
|
187
465
|
log(` $ ${ONBOARD_CMD}`);
|
|
@@ -198,9 +476,7 @@ export async function runSetup(opts = {}) {
|
|
|
198
476
|
else {
|
|
199
477
|
log(" [2/7] OpenClaw already set up");
|
|
200
478
|
}
|
|
201
|
-
//
|
|
202
|
-
// Step 3: Install plugin if needed
|
|
203
|
-
// -----------------------------------------------------------------------
|
|
479
|
+
// Step 3: Install plugin
|
|
204
480
|
if (!opts.skipPluginInstall && !isPluginInstalled()) {
|
|
205
481
|
log(" [3/7] Installing AgentHiFive plugin into OpenClaw...");
|
|
206
482
|
log("");
|
|
@@ -213,7 +489,6 @@ export async function runSetup(opts = {}) {
|
|
|
213
489
|
throw new Error("Plugin installation failed. Try manually:\n\n" +
|
|
214
490
|
" openclaw plugins install @agenthifive/openclaw\n");
|
|
215
491
|
}
|
|
216
|
-
// Restart gateway so the plugin gets loaded
|
|
217
492
|
try {
|
|
218
493
|
execSync("openclaw gateway restart", { stdio: "pipe" });
|
|
219
494
|
}
|
|
@@ -225,9 +500,7 @@ export async function runSetup(opts = {}) {
|
|
|
225
500
|
else {
|
|
226
501
|
log(" [3/7] AgentHiFive plugin already installed");
|
|
227
502
|
}
|
|
228
|
-
//
|
|
229
|
-
// Step 4: Base URL + Bootstrap secret
|
|
230
|
-
// -----------------------------------------------------------------------
|
|
503
|
+
// Step 4: Bootstrap auth
|
|
231
504
|
let baseUrl = opts.baseUrl;
|
|
232
505
|
if (!baseUrl) {
|
|
233
506
|
if (opts.nonInteractive) {
|
|
@@ -274,9 +547,7 @@ export async function runSetup(opts = {}) {
|
|
|
274
547
|
outputMinimalConfig(log, baseUrl, agentId, privateKey);
|
|
275
548
|
return;
|
|
276
549
|
}
|
|
277
|
-
// -----------------------------------------------------------------------
|
|
278
550
|
// Step 5: Fetch capabilities
|
|
279
|
-
// -----------------------------------------------------------------------
|
|
280
551
|
log(" [5/7] Fetching connections available in the vault for this agent...");
|
|
281
552
|
let vaultConnections = [];
|
|
282
553
|
try {
|
|
@@ -286,36 +557,12 @@ export async function runSetup(opts = {}) {
|
|
|
286
557
|
log(` WARNING: Could not fetch capabilities: ${err instanceof Error ? err.message : String(err)}`);
|
|
287
558
|
}
|
|
288
559
|
tokenManager.stop();
|
|
289
|
-
// Show connection status
|
|
290
|
-
const connections = {};
|
|
291
|
-
const connectedProviders = [];
|
|
292
|
-
const proxiedProviders = [];
|
|
293
|
-
const seenServices = new Set();
|
|
294
560
|
log("");
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
connections[openclawName] = conn.connectionId ?? "vault-managed";
|
|
301
|
-
if (seenServices.has(conn.service))
|
|
302
|
-
continue;
|
|
303
|
-
seenServices.add(conn.service);
|
|
304
|
-
const displayLabel = conn.displayName || openclawName;
|
|
305
|
-
log(` + ${displayLabel.padEnd(20)} (${integrationLabel(conn)})`);
|
|
306
|
-
connectedProviders.push(openclawName);
|
|
307
|
-
if (conn.category === "llm") {
|
|
308
|
-
proxiedProviders.push(openclawName);
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
else {
|
|
313
|
-
log(" No connections found in the vault.");
|
|
314
|
-
log(" Add connections at the AgentHiFive dashboard.");
|
|
315
|
-
}
|
|
316
|
-
// -----------------------------------------------------------------------
|
|
317
|
-
// Step 6: Build + write config
|
|
318
|
-
// -----------------------------------------------------------------------
|
|
561
|
+
logConnections(log, vaultConnections);
|
|
562
|
+
const { connections, connectedProviders, proxiedProviders } = classifyConnections(vaultConnections);
|
|
563
|
+
// Step 5b: Choose default LLM model
|
|
564
|
+
const defaultModel = await pickDefaultModel(log, proxiedProviders, opts);
|
|
565
|
+
// Step 6: Write config
|
|
319
566
|
log("");
|
|
320
567
|
log(" [6/7] Saving AgentHiFive configuration...");
|
|
321
568
|
const configBlock = buildConfigOutput({
|
|
@@ -325,39 +572,13 @@ export async function runSetup(opts = {}) {
|
|
|
325
572
|
connections,
|
|
326
573
|
connectedProviders,
|
|
327
574
|
proxiedProviders,
|
|
575
|
+
defaultModel,
|
|
328
576
|
});
|
|
329
|
-
|
|
330
|
-
if (!configPath && !opts.nonInteractive) {
|
|
331
|
-
const suggested = defaultConfigPath();
|
|
332
|
-
configPath = await prompt(" OpenClaw config path", suggested);
|
|
333
|
-
if (!configPath)
|
|
334
|
-
configPath = null;
|
|
335
|
-
}
|
|
336
|
-
if (!configPath) {
|
|
337
|
-
configPath = defaultConfigPath();
|
|
338
|
-
}
|
|
577
|
+
const configPath = await resolveConfigPathInteractive(opts);
|
|
339
578
|
try {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
mkdirSync(path.dirname(configPath), { recursive: true });
|
|
344
|
-
writeFileSync(configPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
|
|
345
|
-
log(` Config file: ${configPath}`);
|
|
346
|
-
if (hadExistingConfig) {
|
|
347
|
-
log(" Added to existing config:");
|
|
348
|
-
}
|
|
349
|
-
else {
|
|
350
|
-
log(" Created new config with:");
|
|
351
|
-
}
|
|
352
|
-
log(` - AgentHiFive plugin enabled`);
|
|
353
|
-
log(` - Agent ID: ${agentId.slice(0, 8)}...`);
|
|
354
|
-
log(` - Vault URL: ${baseUrl}`);
|
|
355
|
-
if (connectedProviders.length > 0) {
|
|
356
|
-
log(` - Connected providers: ${connectedProviders.join(", ")}`);
|
|
357
|
-
}
|
|
358
|
-
if (proxiedProviders.length > 0) {
|
|
359
|
-
log(` - LLM credential proxying: ${proxiedProviders.join(", ")}`);
|
|
360
|
-
}
|
|
579
|
+
writeConfig(log, configPath, configBlock, {
|
|
580
|
+
agentId, baseUrl, connectedProviders, proxiedProviders, defaultModel,
|
|
581
|
+
});
|
|
361
582
|
}
|
|
362
583
|
catch (err) {
|
|
363
584
|
log(` WARNING: Could not write config: ${err instanceof Error ? err.message : String(err)}`);
|
|
@@ -365,66 +586,212 @@ export async function runSetup(opts = {}) {
|
|
|
365
586
|
log(" Add this to your openclaw.json manually:");
|
|
366
587
|
log(JSON.stringify(configBlock, null, 2));
|
|
367
588
|
}
|
|
368
|
-
//
|
|
369
|
-
// Step 7: Patch OpenClaw for vault credential proxying
|
|
370
|
-
// -----------------------------------------------------------------------
|
|
589
|
+
// Step 7: Patch
|
|
371
590
|
log("");
|
|
372
591
|
log(" [7/7] Enabling vault credential proxying...");
|
|
373
592
|
log(" This modifies OpenClaw so it can fetch API keys from the vault");
|
|
374
593
|
log(" instead of requiring them to be stored locally.");
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
594
|
+
await patchOpenClawInteractive(log, opts);
|
|
595
|
+
logDone(log, defaultModel, proxiedProviders);
|
|
596
|
+
}
|
|
597
|
+
// ---------------------------------------------------------------------------
|
|
598
|
+
// Mode 2: Change default LLM model
|
|
599
|
+
// ---------------------------------------------------------------------------
|
|
600
|
+
async function runChangeModel(opts) {
|
|
601
|
+
const log = (msg) => process.stdout.write(`${msg}\n`);
|
|
602
|
+
log("");
|
|
603
|
+
log(" Change Default LLM Model");
|
|
604
|
+
log(" " + "-".repeat(40));
|
|
605
|
+
log("");
|
|
606
|
+
// Read existing config to get auth credentials
|
|
607
|
+
const configPath = resolveConfigPath(opts);
|
|
608
|
+
const existingAuth = extractExistingAuth(configPath);
|
|
609
|
+
if (!existingAuth) {
|
|
610
|
+
throw new Error("No existing AgentHiFive config found. Run first-time setup first.\n\n" +
|
|
611
|
+
" ah5-setup\n");
|
|
386
612
|
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
613
|
+
log(` Config: ${configPath}`);
|
|
614
|
+
log(` Vault: ${existingAuth.baseUrl}`);
|
|
615
|
+
log(` Agent: ${existingAuth.agentId.slice(0, 8)}...`);
|
|
616
|
+
log("");
|
|
617
|
+
// Use existing auth to fetch capabilities
|
|
618
|
+
log(" Fetching available LLM connections...");
|
|
619
|
+
const tokenManager = new VaultTokenManager({
|
|
620
|
+
baseUrl: existingAuth.baseUrl,
|
|
621
|
+
agentId: existingAuth.agentId,
|
|
622
|
+
privateKey: existingAuth.privateKey,
|
|
623
|
+
tokenAudience: existingAuth.baseUrl,
|
|
624
|
+
});
|
|
625
|
+
try {
|
|
626
|
+
await tokenManager.init();
|
|
627
|
+
}
|
|
628
|
+
catch (err) {
|
|
629
|
+
tokenManager.stop();
|
|
630
|
+
throw new Error(`Could not authenticate with vault: ${err instanceof Error ? err.message : String(err)}. ` +
|
|
631
|
+
"You may need to reconnect (option 3).");
|
|
632
|
+
}
|
|
633
|
+
let vaultConnections = [];
|
|
634
|
+
try {
|
|
635
|
+
vaultConnections = await fetchCapabilities(existingAuth.baseUrl, tokenManager.getToken());
|
|
636
|
+
}
|
|
637
|
+
catch (err) {
|
|
638
|
+
throw new Error(`Could not fetch capabilities: ${err instanceof Error ? err.message : String(err)}`);
|
|
639
|
+
}
|
|
640
|
+
finally {
|
|
641
|
+
tokenManager.stop();
|
|
642
|
+
}
|
|
643
|
+
const { proxiedProviders } = classifyConnections(vaultConnections);
|
|
644
|
+
if (proxiedProviders.length === 0) {
|
|
645
|
+
throw new Error("No LLM connections found. Add LLM connections at the AgentHiFive dashboard.");
|
|
646
|
+
}
|
|
647
|
+
// Pick model
|
|
648
|
+
const defaultModel = await pickDefaultModel(log, proxiedProviders, opts);
|
|
649
|
+
if (!defaultModel) {
|
|
650
|
+
log(" No model selected.");
|
|
651
|
+
return;
|
|
652
|
+
}
|
|
653
|
+
// Update only agents.defaults.model in existing config
|
|
654
|
+
const existing = readExistingConfig(configPath);
|
|
655
|
+
const agentsUpdate = { agents: { defaults: { model: defaultModel } } };
|
|
656
|
+
const merged = mergePluginConfig(existing, agentsUpdate);
|
|
657
|
+
writeFileSync(configPath, JSON.stringify(merged, null, 2) + "\n", "utf-8");
|
|
658
|
+
log("");
|
|
659
|
+
log(` Default model updated to: ${defaultModel}`);
|
|
660
|
+
log(` Config saved: ${configPath}`);
|
|
661
|
+
logDone(log, defaultModel, proxiedProviders);
|
|
662
|
+
}
|
|
663
|
+
// ---------------------------------------------------------------------------
|
|
664
|
+
// Mode 3: Reconnect to vault
|
|
665
|
+
// ---------------------------------------------------------------------------
|
|
666
|
+
async function runReconnect(opts) {
|
|
667
|
+
const log = (msg) => process.stdout.write(`${msg}\n`);
|
|
668
|
+
log("");
|
|
669
|
+
log(" Reconnect to Vault");
|
|
670
|
+
log(" " + "-".repeat(40));
|
|
671
|
+
log("");
|
|
672
|
+
// Read existing config for current vault URL as default
|
|
673
|
+
const configPath = resolveConfigPath(opts);
|
|
674
|
+
const existingAuth = extractExistingAuth(configPath);
|
|
675
|
+
const currentBaseUrl = existingAuth?.baseUrl ?? "https://app.agenthifive.com";
|
|
676
|
+
// Confirm/change vault URL
|
|
677
|
+
let baseUrl = opts.baseUrl;
|
|
678
|
+
if (!baseUrl) {
|
|
679
|
+
if (opts.nonInteractive) {
|
|
680
|
+
baseUrl = currentBaseUrl;
|
|
399
681
|
}
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
if (msg.includes("EACCES") || msg.includes("permission denied")) {
|
|
403
|
-
log(" ERROR: Permission denied. Try running with sudo:");
|
|
404
|
-
log(" sudo ah5-setup ...");
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
log(` WARNING: Could not enable credential proxying: ${msg}`);
|
|
408
|
-
}
|
|
682
|
+
else {
|
|
683
|
+
baseUrl = await prompt(" AgentHiFive vault URL", currentBaseUrl);
|
|
409
684
|
}
|
|
410
685
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
686
|
+
baseUrl = baseUrl.replace(/\/+$/, "");
|
|
687
|
+
// New bootstrap secret
|
|
688
|
+
let bootstrapSecret = opts.bootstrapSecret;
|
|
689
|
+
if (!bootstrapSecret) {
|
|
690
|
+
if (opts.nonInteractive) {
|
|
691
|
+
throw new Error("--bootstrap-secret is required in non-interactive mode");
|
|
692
|
+
}
|
|
693
|
+
log("");
|
|
694
|
+
log(" Generate a new bootstrap secret from the AgentHiFive dashboard:");
|
|
695
|
+
log(" Dashboard -> Agents -> [your agent] -> Bootstrap Secret");
|
|
696
|
+
log(" The secret expires in 1 hour.");
|
|
697
|
+
log("");
|
|
698
|
+
bootstrapSecret = await prompt(" Bootstrap secret (ah5b_...)");
|
|
414
699
|
}
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
700
|
+
if (!bootstrapSecret.startsWith("ah5b_")) {
|
|
701
|
+
throw new Error("Bootstrap secrets must start with ah5b_");
|
|
702
|
+
}
|
|
703
|
+
// Bootstrap new auth
|
|
418
704
|
log("");
|
|
419
|
-
log("
|
|
420
|
-
|
|
705
|
+
log(" Connecting to vault...");
|
|
706
|
+
const { agentId, name, status, privateKey } = await bootstrapAgent(baseUrl, bootstrapSecret);
|
|
707
|
+
log(` Agent "${name}" registered (${agentId.slice(0, 8)}..., status: ${status})`);
|
|
708
|
+
// Verify token exchange
|
|
709
|
+
log(" Verifying secure token exchange...");
|
|
710
|
+
const tokenManager = new VaultTokenManager({
|
|
711
|
+
baseUrl,
|
|
712
|
+
agentId,
|
|
713
|
+
privateKey,
|
|
714
|
+
tokenAudience: baseUrl,
|
|
715
|
+
});
|
|
716
|
+
try {
|
|
717
|
+
await tokenManager.init();
|
|
718
|
+
log(" Connection established");
|
|
719
|
+
}
|
|
720
|
+
catch (err) {
|
|
721
|
+
tokenManager.stop();
|
|
722
|
+
throw new Error(`Token exchange failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
723
|
+
}
|
|
724
|
+
// Fetch capabilities
|
|
725
|
+
log(" Fetching connections...");
|
|
726
|
+
let vaultConnections = [];
|
|
727
|
+
try {
|
|
728
|
+
vaultConnections = await fetchCapabilities(baseUrl, tokenManager.getToken());
|
|
729
|
+
}
|
|
730
|
+
catch (err) {
|
|
731
|
+
log(` WARNING: Could not fetch capabilities: ${err instanceof Error ? err.message : String(err)}`);
|
|
732
|
+
}
|
|
733
|
+
tokenManager.stop();
|
|
421
734
|
log("");
|
|
422
|
-
log
|
|
423
|
-
|
|
735
|
+
logConnections(log, vaultConnections);
|
|
736
|
+
const { connections, connectedProviders, proxiedProviders } = classifyConnections(vaultConnections);
|
|
737
|
+
// Pick model
|
|
738
|
+
const defaultModel = await pickDefaultModel(log, proxiedProviders, opts);
|
|
739
|
+
// Write config (full rebuild of plugin + models + agents blocks)
|
|
424
740
|
log("");
|
|
425
|
-
log("
|
|
426
|
-
|
|
741
|
+
log(" Saving configuration...");
|
|
742
|
+
const configBlock = buildConfigOutput({
|
|
743
|
+
baseUrl,
|
|
744
|
+
agentId,
|
|
745
|
+
privateKey,
|
|
746
|
+
connections,
|
|
747
|
+
connectedProviders,
|
|
748
|
+
proxiedProviders,
|
|
749
|
+
defaultModel,
|
|
750
|
+
});
|
|
751
|
+
try {
|
|
752
|
+
writeConfig(log, configPath, configBlock, {
|
|
753
|
+
agentId, baseUrl, connectedProviders, proxiedProviders, defaultModel,
|
|
754
|
+
});
|
|
755
|
+
}
|
|
756
|
+
catch (err) {
|
|
757
|
+
log(` WARNING: Could not write config: ${err instanceof Error ? err.message : String(err)}`);
|
|
758
|
+
log("");
|
|
759
|
+
log(" Add this to your openclaw.json manually:");
|
|
760
|
+
log(JSON.stringify(configBlock, null, 2));
|
|
761
|
+
}
|
|
762
|
+
// Re-patch
|
|
427
763
|
log("");
|
|
764
|
+
log(" Re-applying vault credential proxy patch...");
|
|
765
|
+
await patchOpenClawInteractive(log, opts);
|
|
766
|
+
logDone(log, defaultModel, proxiedProviders);
|
|
767
|
+
}
|
|
768
|
+
// ---------------------------------------------------------------------------
|
|
769
|
+
// Main entry point
|
|
770
|
+
// ---------------------------------------------------------------------------
|
|
771
|
+
export async function runSetup(opts = {}) {
|
|
772
|
+
let mode = opts.mode;
|
|
773
|
+
// If no mode specified and not non-interactive, show menu
|
|
774
|
+
if (!mode) {
|
|
775
|
+
if (opts.nonInteractive) {
|
|
776
|
+
// Non-interactive defaults to full setup
|
|
777
|
+
mode = "setup";
|
|
778
|
+
}
|
|
779
|
+
else if (opts.baseUrl || opts.bootstrapSecret) {
|
|
780
|
+
// If setup flags are given explicitly, assume first-time setup
|
|
781
|
+
mode = "setup";
|
|
782
|
+
}
|
|
783
|
+
else {
|
|
784
|
+
mode = await showMenu((msg) => process.stdout.write(`${msg}\n`));
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
switch (mode) {
|
|
788
|
+
case "change-model":
|
|
789
|
+
return runChangeModel(opts);
|
|
790
|
+
case "reconnect":
|
|
791
|
+
return runReconnect(opts);
|
|
792
|
+
default:
|
|
793
|
+
return runFirstTimeSetup(opts);
|
|
794
|
+
}
|
|
428
795
|
}
|
|
429
796
|
// ---------------------------------------------------------------------------
|
|
430
797
|
// Fallback: minimal config when token exchange fails
|
|
@@ -474,6 +841,17 @@ export function parseSetupArgs(args) {
|
|
|
474
841
|
if (val)
|
|
475
842
|
opts.openclawDir = val;
|
|
476
843
|
}
|
|
844
|
+
else if (arg === "--default-model" && args[i + 1]) {
|
|
845
|
+
const val = args[++i];
|
|
846
|
+
if (val)
|
|
847
|
+
opts.defaultModel = val;
|
|
848
|
+
}
|
|
849
|
+
else if (arg === "--mode" && args[i + 1]) {
|
|
850
|
+
const val = args[++i];
|
|
851
|
+
if (val === "setup" || val === "change-model" || val === "reconnect") {
|
|
852
|
+
opts.mode = val;
|
|
853
|
+
}
|
|
854
|
+
}
|
|
477
855
|
else if (arg === "--non-interactive") {
|
|
478
856
|
opts.nonInteractive = true;
|
|
479
857
|
}
|
package/dist/setup-wizard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EACL,yBAAyB,EACzB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,sBAAsB,EACtB,mBAAmB,EACnB,UAAU,GACX,MAAM,iBAAiB,CAAC;AA4BzB,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,KAAK,UAAU,MAAM,CAAC,QAAgB,EAAE,YAAqB;IAC3D,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1D,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7E,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,EAAE,CAAC,QAAQ,CAAC,GAAG,QAAQ,GAAG,MAAM,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/C,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,YAAY,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,8EAA8E;AAC9E,gBAAgB;AAChB,8EAA8E;AAE9E,SAAS,mBAAmB;IAC1B,IAAI,CAAC;QACH,QAAQ,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,iCAAiC;IACjC,MAAM,UAAU,GAAG,yBAAyB,EAAE,CAAC;IAC/C,IAAI,UAAU;QAAE,OAAO,IAAI,CAAC;IAE5B,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;IACtD,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;IACzE,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IAE7C,gDAAgD;IAChD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;QAC3C,OAAO,OAAO,CAAC,IAAI,CACjB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,cAAc,CACnD,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAGD,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,KAAK,UAAU,cAAc,CAC3B,OAAe,EACf,eAAuB;IAOvB,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACjE,MAAM,SAAS,GAAG,MAAM,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IAE/C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,sBAAsB,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,eAAe,EAAE,eAAe,CAAC,IAAI,EAAE;YACvC,SAAS,EAAE,SAAS;SACrB,CAAC;QACF,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,qBAAqB,QAAQ,CAAC,MAAM,MAAM,IAAI,IAAI,gDAAgD,EAAE,CACrG,CAAC;IACJ,CAAC;IAED,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIpC,CAAC;IAEF,OAAO,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC;AAC/C,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,OAAe,EACf,KAAa;IAEb,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,qBAAqB,EAAE;QAC5D,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;QAC7C,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;KACnC,CAAC,CAAC;IAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,8BAA8B,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;IAEF,OAAO,IAAI,CAAC,iBAAiB,IAAI,EAAE,CAAC;AACtC,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,kBAAkB,GAA2B;IACjD,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,WAAW;IACjC,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;CACjB,CAAC;AAEF,SAAS,gBAAgB,CAAC,IAAqB;IAC7C,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,WAAW,CAAC;IAChD,IAAI,IAAI,CAAC,cAAc,KAAK,WAAW;QAAE,OAAO,oBAAoB,CAAC;IACrE,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO;QAAE,OAAO,oBAAoB,CAAC;IACjE,OAAO,cAAc,CAAC;AACxB,CAAC;AAED,8EAA8E;AAC9E,wBAAwB;AACxB,8EAA8E;AAE9E,MAAM,UAAU,iBAAiB,CAAC,MAOjC;IACC,sEAAsE;IACtE,wDAAwD;IACxD,MAAM,cAAc,GAAwD,EAAE,CAAC;IAC/E,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC/C,cAAc,CAAC,QAAQ,CAAC,GAAG;YACzB,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,iBAAiB,QAAQ,EAAE;YACrD,MAAM,EAAE,eAAe;SACxB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE;YACN,SAAS,EAAE,cAAc;SAC1B;QACD,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,aAAa,CAAC;YACtB,OAAO,EAAE;gBACP,WAAW,EAAE;oBACX,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE;oBACrC,MAAM,EAAE;wBACN,OAAO,EAAE,MAAM,CAAC,OAAO;wBACvB,IAAI,EAAE;4BACJ,IAAI,EAAE,OAAO;4BACb,OAAO,EAAE,MAAM,CAAC,OAAO;4BACvB,UAAU,EAAE,MAAM,CAAC,IAAI,CACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAClC,CAAC,QAAQ,CAAC,QAAQ,CAAC;yBACrB;wBACD,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;wBAC7C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;qBAC1C;iBACF;aACF;SACF;KACF,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,WAAW,GACf,sEAAsE;IACtE,sFAAsF,CAAC;AAEzF,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,OAAqB,EAAE;IACpD,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAE9D,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC3B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,CAAC;IAER,0EAA0E;IAC1E,sCAAsC;IACtC,0EAA0E;IAE1E,IAAI,CAAC,mBAAmB,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,kDAAkD;YAChD,oCAAoC,CACvC,CAAC;IACJ,CAAC;IACD,GAAG,CAAC,wCAAwC,CAAC,CAAC;IAE9C,0EAA0E;IAC1E,iCAAiC;IACjC,0EAA0E;IAE1E,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QACxC,GAAG,CAAC,kEAAkE,CAAC,CAAC;QACxE,GAAG,CAAC,aAAa,WAAW,EAAE,CAAC,CAAC;QAChC,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,IAAI,CAAC;YACH,QAAQ,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,qDAAqD;gBACnD,KAAK,WAAW,IAAI,CACvB,CAAC;QACJ,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACzC,CAAC;IAED,0EAA0E;IAC1E,mCAAmC;IACnC,0EAA0E;IAE1E,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACpD,GAAG,CAAC,wDAAwD,CAAC,CAAC;QAC9D,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,IAAI,CAAC;YACH,QAAQ,CAAC,gDAAgD,EAAE;gBACzD,KAAK,EAAE,SAAS;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CACb,+CAA+C;gBAC7C,oDAAoD,CACvD,CAAC;QACJ,CAAC;QACD,4CAA4C;QAC5C,IAAI,CAAC;YACH,QAAQ,CAAC,0BAA0B,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC;IACV,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,8CAA8C,CAAC,CAAC;IACtD,CAAC;IAED,0EAA0E;IAC1E,sCAAsC;IACtC,0EAA0E;IAE1E,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,OAAO,GAAG,MAAM,MAAM,CACpB,wBAAwB,EACxB,6BAA6B,CAC9B,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEtC,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;IAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC5E,CAAC;QACD,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,+DAA+D,CAAC,CAAC;QACrE,GAAG,CAAC,6DAA6D,CAAC,CAAC;QACnE,GAAG,CAAC,iCAAiC,CAAC,CAAC;QACvC,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,eAAe,GAAG,MAAM,MAAM,CAAC,+BAA+B,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,oEAAoE,CAAC,CAAC;IAC1E,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,cAAc,CAChE,OAAO,EACP,eAAe,CAChB,CAAC;IACF,GAAG,CACD,kBAAkB,IAAI,iBAAiB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,gBAAgB,MAAM,GAAG,CACpF,CAAC;IAEF,wBAAwB;IACxB,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,IAAI,iBAAiB,CAAC;QACzC,OAAO;QACP,OAAO;QACP,UAAU;QACV,aAAa,EAAE,OAAO;KACvB,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;QAC1B,GAAG,CAAC,yCAAyC,CAAC,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,qCAAqC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxF,CAAC;QACF,GAAG,CAAC,uEAAuE,CAAC,CAAC;QAC7E,YAAY,CAAC,IAAI,EAAE,CAAC;QACpB,mBAAmB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,0EAA0E;IAC1E,6BAA6B;IAC7B,0EAA0E;IAE1E,GAAG,CAAC,uEAAuE,CAAC,CAAC;IAC7E,IAAI,gBAAgB,GAAsB,EAAE,CAAC;IAC7C,IAAI,CAAC;QACH,gBAAgB,GAAG,MAAM,iBAAiB,CACxC,OAAO,EACP,YAAY,CAAC,QAAQ,EAAE,CACxB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,4CAA4C,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC/F,CAAC;IACJ,CAAC;IACD,YAAY,CAAC,IAAI,EAAE,CAAC;IAEpB,yBAAyB;IACzB,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,MAAM,kBAAkB,GAAa,EAAE,CAAC;IACxC,MAAM,gBAAgB,GAAa,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IAEvC,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QAC3C,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;YACtE,WAAW,CAAC,YAAY,CAAC,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC;YAEjE,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC7C,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE/B,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,IAAI,YAAY,CAAC;YACtD,GAAG,CACD,OAAO,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAC7D,CAAC;YAEF,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtC,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK,EAAE,CAAC;gBAC5B,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,sCAAsC,CAAC,CAAC;QAC5C,GAAG,CAAC,iDAAiD,CAAC,CAAC;IACzD,CAAC;IAED,0EAA0E;IAC1E,+BAA+B;IAC/B,0EAA0E;IAE1E,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,6CAA6C,CAAC,CAAC;IAEnD,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,OAAO;QACP,OAAO;QACP,UAAU;QACV,WAAW;QACX,kBAAkB;QAClB,gBAAgB;KACjB,CAAC,CAAC;IAEH,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,yBAAyB,EAAE,CAAC;IAEhE,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,UAAU,GAAG,MAAM,MAAM,CACvB,wBAAwB,EACxB,SAAS,CACV,CAAC;QACF,IAAI,CAAC,UAAU;YAAE,UAAU,GAAG,IAAI,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,UAAU,GAAG,iBAAiB,EAAE,CAAC;IACnC,CAAC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAChD,MAAM,iBAAiB,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,EAAE,WAAsC,CAAC,CAAC;QAEnF,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAE3E,GAAG,CAAC,wBAAwB,UAAU,EAAE,CAAC,CAAC;QAE1C,IAAI,iBAAiB,EAAE,CAAC;YACtB,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAC3C,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAC1C,CAAC;QACD,GAAG,CAAC,wCAAwC,CAAC,CAAC;QAC9C,GAAG,CAAC,yBAAyB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;QACvD,GAAG,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;QACzC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,GAAG,CAAC,oCAAoC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QACD,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,GAAG,CAAC,wCAAwC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CACD,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACzF,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,CAAC;QACR,GAAG,CAAC,4CAA4C,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,0EAA0E;IAC1E,uDAAuD;IACvD,0EAA0E;IAE1E,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,+CAA+C,CAAC,CAAC;IACrD,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAC9E,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAE/D,IAAI,eAAe,GAAG,IAAI,CAAC,WAAW;QACpC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC;QACvC,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAE7B,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAC3B,oDAAoD,CACrD,CAAC;QACF,IAAI,QAAQ,EAAE,CAAC;YACb,eAAe,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,GAAG,CAAC,eAAe,QAAQ,mDAAmD,CAAC,CAAC;YAClF,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC1B,GAAG,CAAC,6CAA6C,CAAC,CAAC;YACrD,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBAC1B,GAAG,CAAC,8BAA8B,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,cAAc,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,oDAAoD,CAAC,CAAC;gBAC1D,GAAG,CAAC,wBAAwB,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,oDAAoD,GAAG,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,4DAA4D,CAAC,CAAC;QAClE,GAAG,CAAC,qEAAqE,CAAC,CAAC;IAC7E,CAAC;IAED,0EAA0E;IAC1E,iCAAiC;IACjC,0EAA0E;IAE1E,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzB,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAClD,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAC/D,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACzE,GAAG,CAAC,sDAAsD,CAAC,CAAC;IAC5D,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,8EAA8E;AAC9E,qDAAqD;AACrD,8EAA8E;AAE9E,SAAS,mBAAmB,CAC1B,GAA0B,EAC1B,OAAe,EACf,OAAe,EACf,UAAsB;IAEtB,MAAM,WAAW,GAAG,iBAAiB,CAAC;QACpC,OAAO;QACP,OAAO;QACP,UAAU;QACV,WAAW,EAAE,EAAE;QACf,kBAAkB,EAAE,EAAE;QACtB,gBAAgB,EAAE,EAAE;KACrB,CAAC,CAAC;IAEH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,4CAA4C,CAAC,CAAC;IAClD,GAAG,CAAC,yDAAyD,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3B,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,8EAA8E;AAC9E,sBAAsB;AACtB,8EAA8E;AAE9E,MAAM,UAAU,cAAc,CAAC,IAAc;IAC3C,MAAM,IAAI,GAAiB,EAAE,CAAC;IAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,GAAG,KAAK,YAAY,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG;gBAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC;QAC9B,CAAC;aAAM,IAAI,GAAG,KAAK,oBAAoB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG;gBAAE,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;QACtC,CAAC;aAAM,IAAI,GAAG,KAAK,eAAe,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG;gBAAE,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACjC,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtB,IAAI,GAAG;gBAAE,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QAClC,CAAC;aAAM,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YACvC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;aAAM,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;aAAM,IAAI,GAAG,KAAK,uBAAuB,EAAE,CAAC;YAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAChC,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"setup-wizard.js","sourceRoot":"","sources":["../src/setup-wizard.ts"],"names":[],"mappings":"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"}
|