@heretek-ai/openclaw 2026.3.30 → 2026.3.32
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/.buildstamp +1 -1
- package/dist/build-info.json +3 -3
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/chunks/command-registry-BeAmVjny.mjs +214 -0
- package/dist/chunks/command-registry-BnmWhMEa.mjs +214 -0
- package/dist/chunks/command-registry-CCc0vZoH.mjs +14 -0
- package/dist/chunks/command-registry-CLOY087q.mjs +14 -0
- package/dist/chunks/command-registry-CjAG33h3.mjs +14 -0
- package/dist/chunks/command-registry-DPx6M6gw.mjs +214 -0
- package/dist/chunks/completion-cli-BDWbmV-o.mjs +448 -0
- package/dist/chunks/completion-cli-CBrKGQfJ.mjs +17 -0
- package/dist/chunks/completion-cli-CpJ8IzQO.mjs +448 -0
- package/dist/chunks/completion-cli-CwouPhbG.mjs +17 -0
- package/dist/chunks/completion-cli-DuMZk0lN.mjs +448 -0
- package/dist/chunks/completion-cli-DxUdlYt0.mjs +17 -0
- package/dist/chunks/doctor-completion-1UqU9aiy.mjs +92 -0
- package/dist/chunks/doctor-completion-B_LLsQm-.mjs +92 -0
- package/dist/chunks/doctor-completion-CCuL-Cen.mjs +92 -0
- package/dist/chunks/gateway-cli-Bc4J6-zj.mjs +43508 -0
- package/dist/chunks/gateway-cli-CqAlS2xh.mjs +43508 -0
- package/dist/chunks/gateway-cli-CxfnMGx8.mjs +43508 -0
- package/dist/chunks/onboard-CRZ2jxOE.mjs +601 -0
- package/dist/chunks/onboard-CyzbNCBF.mjs +601 -0
- package/dist/chunks/onboard-Y9qZW5yw.mjs +601 -0
- package/dist/chunks/program-B27s-BhZ.mjs +163 -0
- package/dist/chunks/program-B3JSAo3Q.mjs +163 -0
- package/dist/chunks/program-DVTI5ouc.mjs +163 -0
- package/dist/chunks/prompt-select-styled-AhC9B2Sr.mjs +5035 -0
- package/dist/chunks/prompt-select-styled-DWTJpQCH.mjs +5035 -0
- package/dist/chunks/prompt-select-styled-PxJbW1Dj.mjs +5035 -0
- package/dist/chunks/register.maintenance-DkQKQI29.mjs +685 -0
- package/dist/chunks/register.maintenance-DrxPWWzR.mjs +685 -0
- package/dist/chunks/register.maintenance-ofEvddjM.mjs +685 -0
- package/dist/chunks/register.onboard-3m3OGP7x.mjs +168 -0
- package/dist/chunks/register.onboard-BpL-OvP9.mjs +168 -0
- package/dist/chunks/register.onboard-CvtQ4Z6V.mjs +168 -0
- package/dist/chunks/register.setup-Dz3jKcQw.mjs +188 -0
- package/dist/chunks/register.setup-NRV53Eo_.mjs +188 -0
- package/dist/chunks/register.setup-xf9cH3sc.mjs +188 -0
- package/dist/chunks/register.subclis-B6xOze_R.mjs +319 -0
- package/dist/chunks/register.subclis-B_qUKZPW.mjs +13 -0
- package/dist/chunks/register.subclis-BvClctGE.mjs +319 -0
- package/dist/chunks/register.subclis-CXtcQnsP.mjs +13 -0
- package/dist/chunks/register.subclis-Dd7Q2x2W.mjs +13 -0
- package/dist/chunks/register.subclis-Dj9qGYdr.mjs +319 -0
- package/dist/chunks/run-main-BYaCWOd9.mjs +437 -0
- package/dist/chunks/run-main-CpZzBbaq.mjs +437 -0
- package/dist/chunks/run-main-nT8E6iSo.mjs +437 -0
- package/dist/chunks/setup-BufxzaUK.mjs +399 -0
- package/dist/chunks/setup-DHU6h2yc.mjs +399 -0
- package/dist/chunks/setup-Ddj3KzQ7.mjs +399 -0
- package/dist/chunks/setup.finalize-Cc2mg8-p.mjs +544 -0
- package/dist/chunks/setup.finalize-DVacBRaT.mjs +544 -0
- package/dist/chunks/setup.finalize-ZR-Hv0hQ.mjs +544 -0
- package/dist/chunks/update-cli-DK2TX2U4.mjs +1632 -0
- package/dist/chunks/update-cli-DWGkI141.mjs +1632 -0
- package/dist/chunks/update-cli-JcUKNsam.mjs +1632 -0
- package/dist/entry.mjs +1 -1
- package/dist/index.mjs +1 -1
- package/package.json +134 -134
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import "./redact-CtGOTRBK.mjs";
|
|
2
|
+
import "./errors-CbvpN2RP.mjs";
|
|
3
|
+
import "./logger-vRSRu9wD.mjs";
|
|
4
|
+
import "./paths-CNST7z3O.mjs";
|
|
5
|
+
import "./tmp-openclaw-dir-BeWwpCKM.mjs";
|
|
6
|
+
import { r as theme } from "./theme-w86ra_7m.mjs";
|
|
7
|
+
import "./globals-DZFR3wyP.mjs";
|
|
8
|
+
import { m as defaultRuntime } from "./subsystem-yLe4Gjha.mjs";
|
|
9
|
+
import "./ansi-BJ9IOlIp.mjs";
|
|
10
|
+
import "./boolean-Bwxxidw8.mjs";
|
|
11
|
+
import "./env-9fhyzTaG.mjs";
|
|
12
|
+
import { S as shortenHomePath } from "./utils-Dc9DiBqf.mjs";
|
|
13
|
+
import { t as formatDocsLink } from "./links-BNNF54ea.mjs";
|
|
14
|
+
import { t as hasExplicitOptions } from "./command-options-CMEANk0N.mjs";
|
|
15
|
+
import "./agent-scope-CnAwGoC2.mjs";
|
|
16
|
+
import "./boundary-path-DnlNnNbU.mjs";
|
|
17
|
+
import "./boundary-file-read-BB4JbZzx.mjs";
|
|
18
|
+
import "./logger-DWOgrQoS.mjs";
|
|
19
|
+
import "./exec-DX0zVVG7.mjs";
|
|
20
|
+
import "./openclaw-root-CSfnLaqO.mjs";
|
|
21
|
+
import { d as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR } from "./workspace-CoFl73GV.mjs";
|
|
22
|
+
import "./model-selection-BJk_hQeE.mjs";
|
|
23
|
+
import { g as writeConfigFile, i as createConfigIO } from "./io-CDQGJKjg.mjs";
|
|
24
|
+
import "./shell-env-CP5vTYhw.mjs";
|
|
25
|
+
import "./safe-text-Bsdm3bQS.mjs";
|
|
26
|
+
import "./version-Ckv-IbvB.mjs";
|
|
27
|
+
import "./env-substitution-DGlYO8jV.mjs";
|
|
28
|
+
import "./scan-paths-ahOy4FCQ.mjs";
|
|
29
|
+
import "./includes-DcO1JxKG.mjs";
|
|
30
|
+
import "./zod-schema.providers-core-CjdAU1TY.mjs";
|
|
31
|
+
import "./legacy-web-search-B1O8hiGy.mjs";
|
|
32
|
+
import "./schema-validator-BOH34EXk.mjs";
|
|
33
|
+
import "./registry-DBJv0dvl.mjs";
|
|
34
|
+
import "./config-state-kmbzTT63.mjs";
|
|
35
|
+
import "./min-host-version-EA11e8I5.mjs";
|
|
36
|
+
import "./manifest-registry-dO1qi1iI.mjs";
|
|
37
|
+
import "./runtime-guard-CWHkkioa.mjs";
|
|
38
|
+
import "./avatar-policy-uRVtZ7lJ.mjs";
|
|
39
|
+
import "./ip-BtMd9ssR.mjs";
|
|
40
|
+
import "./zod-schema.agent-runtime-BtGT59eP.mjs";
|
|
41
|
+
import "./zod-schema.core-CMT7g7UX.mjs";
|
|
42
|
+
import "./zod-schema.channels-BAG3dUtC.mjs";
|
|
43
|
+
import "./zod-schema.providers-whatsapp-qnpQepaf.mjs";
|
|
44
|
+
import "./config-Bhjk4Vel.mjs";
|
|
45
|
+
import "./process-scoped-map-BmLEe6nP.mjs";
|
|
46
|
+
import "./audit-fs-kb-rv_ZT.mjs";
|
|
47
|
+
import "./shared-VxKfp8Uy.mjs";
|
|
48
|
+
import "./resolve-DI6cKS4v.mjs";
|
|
49
|
+
import "./cli-name-lEyorNIN.mjs";
|
|
50
|
+
import "./command-format-D1DrcTDP.mjs";
|
|
51
|
+
import "./tailnet-Bc7IPWjH.mjs";
|
|
52
|
+
import "./net-OJiOmwY1.mjs";
|
|
53
|
+
import "./credentials-DTsHVnAc.mjs";
|
|
54
|
+
import "./message-channel-DCt8BIP7.mjs";
|
|
55
|
+
import "./store-B0V1qm_-.mjs";
|
|
56
|
+
import "./runtime-a4e8n7tq.mjs";
|
|
57
|
+
import "./registry-9YpVWxKb.mjs";
|
|
58
|
+
import "./plugins-D8oapapr.mjs";
|
|
59
|
+
import "./sessions-CYgBPqrc.mjs";
|
|
60
|
+
import { s as resolveSessionTranscriptsDir } from "./paths-CGxgQvpf.mjs";
|
|
61
|
+
import "./types-DoAKcnWC.mjs";
|
|
62
|
+
import "./session-write-lock-DE8KASyZ.mjs";
|
|
63
|
+
import "./json-files-BcpXnc9i.mjs";
|
|
64
|
+
import "./delivery-info-CGNfeMd6.mjs";
|
|
65
|
+
import "./method-scopes-hu-4urbi.mjs";
|
|
66
|
+
import "./call-CcXWxOVG.mjs";
|
|
67
|
+
import "./ws-Dv5Afaxu.mjs";
|
|
68
|
+
import "./control-ui-shared-Dhzx9It_.mjs";
|
|
69
|
+
import "./onboard-helpers-C5GCWoDO.mjs";
|
|
70
|
+
import "./wsl-BW8_A9_i.mjs";
|
|
71
|
+
import "./prompt-style-Dua6SIJh.mjs";
|
|
72
|
+
import "./progress-BxDdsPK3.mjs";
|
|
73
|
+
import "./registry-CFSnIRx_.mjs";
|
|
74
|
+
import "./internal-hooks-VOrTrqjW.mjs";
|
|
75
|
+
import "./accounts-DCMTPA3m.mjs";
|
|
76
|
+
import "./loader-CYgWRKc6.mjs";
|
|
77
|
+
import "./config-presence-DzY-U322.mjs";
|
|
78
|
+
import "./types-BaXbwBIP.mjs";
|
|
79
|
+
import "./hook-runner-global-z_Icpwvo.mjs";
|
|
80
|
+
import "./session-binding-service-Bmkk4TGJ.mjs";
|
|
81
|
+
import "./conversation-binding-elBCYjlA.mjs";
|
|
82
|
+
import "./sdk-alias-C5qDxQv2.mjs";
|
|
83
|
+
import "./bundle-lsp-DyU7-zol.mjs";
|
|
84
|
+
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CcQ-gmqC.mjs";
|
|
85
|
+
import "./status-BWLPyL8Y.mjs";
|
|
86
|
+
import { n as runCommandWithRuntime } from "./cli-utils-DA6vWpDg.mjs";
|
|
87
|
+
import "./note-CaQ2HD-A.mjs";
|
|
88
|
+
import "./clack-prompter-C0PG2vbx.mjs";
|
|
89
|
+
import "./setup.secret-input-DPX4L6ht.mjs";
|
|
90
|
+
import "./setup-Ddj3KzQ7.mjs";
|
|
91
|
+
import "./provider-auth-choices-DFywK1Pz.mjs";
|
|
92
|
+
import { t as setupWizardCommand } from "./onboard-Y9qZW5yw.mjs";
|
|
93
|
+
import JSON5 from "json5";
|
|
94
|
+
import fs from "node:fs/promises";
|
|
95
|
+
|
|
96
|
+
//#region src/commands/setup.ts
|
|
97
|
+
async function readConfigFileRaw(configPath) {
|
|
98
|
+
try {
|
|
99
|
+
const raw = await fs.readFile(configPath, "utf-8");
|
|
100
|
+
const parsed = JSON5.parse(raw);
|
|
101
|
+
if (parsed && typeof parsed === "object") return {
|
|
102
|
+
exists: true,
|
|
103
|
+
parsed
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
exists: true,
|
|
107
|
+
parsed: {}
|
|
108
|
+
};
|
|
109
|
+
} catch {
|
|
110
|
+
return {
|
|
111
|
+
exists: false,
|
|
112
|
+
parsed: {}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function setupCommand(opts, runtime = defaultRuntime) {
|
|
117
|
+
const desiredWorkspace = typeof opts?.workspace === "string" && opts.workspace.trim() ? opts.workspace.trim() : void 0;
|
|
118
|
+
const configPath = createConfigIO().configPath;
|
|
119
|
+
const existingRaw = await readConfigFileRaw(configPath);
|
|
120
|
+
const cfg = existingRaw.parsed;
|
|
121
|
+
const defaults = cfg.agents?.defaults ?? {};
|
|
122
|
+
const workspace = desiredWorkspace ?? defaults.workspace ?? DEFAULT_AGENT_WORKSPACE_DIR;
|
|
123
|
+
const next = {
|
|
124
|
+
...cfg,
|
|
125
|
+
agents: {
|
|
126
|
+
...cfg.agents,
|
|
127
|
+
defaults: {
|
|
128
|
+
...defaults,
|
|
129
|
+
workspace
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
gateway: {
|
|
133
|
+
...cfg.gateway,
|
|
134
|
+
mode: cfg.gateway?.mode ?? "local"
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
if (!existingRaw.exists || defaults.workspace !== workspace || cfg.gateway?.mode !== next.gateway?.mode) {
|
|
138
|
+
await writeConfigFile(next);
|
|
139
|
+
if (!existingRaw.exists) runtime.log(`Wrote ${formatConfigPath(configPath)}`);
|
|
140
|
+
else {
|
|
141
|
+
const updates = [];
|
|
142
|
+
if (defaults.workspace !== workspace) updates.push("set agents.defaults.workspace");
|
|
143
|
+
if (cfg.gateway?.mode !== next.gateway?.mode) updates.push("set gateway.mode");
|
|
144
|
+
logConfigUpdated(runtime, {
|
|
145
|
+
path: configPath,
|
|
146
|
+
suffix: updates.length > 0 ? `(${updates.join(", ")})` : void 0
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
} else runtime.log(`Config OK: ${formatConfigPath(configPath)}`);
|
|
150
|
+
const ws = await ensureAgentWorkspace({
|
|
151
|
+
dir: workspace,
|
|
152
|
+
ensureBootstrapFiles: !next.agents?.defaults?.skipBootstrap
|
|
153
|
+
});
|
|
154
|
+
runtime.log(`Workspace OK: ${shortenHomePath(ws.dir)}`);
|
|
155
|
+
const sessionsDir = resolveSessionTranscriptsDir();
|
|
156
|
+
await fs.mkdir(sessionsDir, { recursive: true });
|
|
157
|
+
runtime.log(`Sessions OK: ${shortenHomePath(sessionsDir)}`);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//#endregion
|
|
161
|
+
//#region src/cli/program/register.setup.ts
|
|
162
|
+
function registerSetupCommand(program) {
|
|
163
|
+
program.command("setup").description("Initialize ~/.Heretek-AI/openclaw.json and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.openclaw.ai/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.openclaw/workspace; stored as agents.defaults.workspace)").option("--wizard", "Run interactive onboarding", false).option("--non-interactive", "Run onboarding without prompts", false).option("--mode <mode>", "Onboard mode: local|remote").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").action(async (opts, command) => {
|
|
164
|
+
await runCommandWithRuntime(defaultRuntime, async () => {
|
|
165
|
+
const hasWizardFlags = hasExplicitOptions(command, [
|
|
166
|
+
"wizard",
|
|
167
|
+
"nonInteractive",
|
|
168
|
+
"mode",
|
|
169
|
+
"remoteUrl",
|
|
170
|
+
"remoteToken"
|
|
171
|
+
]);
|
|
172
|
+
if (opts.wizard || hasWizardFlags) {
|
|
173
|
+
await setupWizardCommand({
|
|
174
|
+
workspace: opts.workspace,
|
|
175
|
+
nonInteractive: Boolean(opts.nonInteractive),
|
|
176
|
+
mode: opts.mode,
|
|
177
|
+
remoteUrl: opts.remoteUrl,
|
|
178
|
+
remoteToken: opts.remoteToken
|
|
179
|
+
}, defaultRuntime);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
await setupCommand({ workspace: opts.workspace }, defaultRuntime);
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
//#endregion
|
|
188
|
+
export { registerSetupCommand };
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import "./redact-CtGOTRBK.mjs";
|
|
2
|
+
import "./errors-CbvpN2RP.mjs";
|
|
3
|
+
import "./logger-vRSRu9wD.mjs";
|
|
4
|
+
import "./paths-CNST7z3O.mjs";
|
|
5
|
+
import "./tmp-openclaw-dir-BeWwpCKM.mjs";
|
|
6
|
+
import { r as theme } from "./theme-w86ra_7m.mjs";
|
|
7
|
+
import "./globals-DZFR3wyP.mjs";
|
|
8
|
+
import { m as defaultRuntime } from "./subsystem-yLe4Gjha.mjs";
|
|
9
|
+
import "./ansi-BJ9IOlIp.mjs";
|
|
10
|
+
import "./boolean-Bwxxidw8.mjs";
|
|
11
|
+
import "./env-9fhyzTaG.mjs";
|
|
12
|
+
import { S as shortenHomePath } from "./utils-Dc9DiBqf.mjs";
|
|
13
|
+
import { t as formatDocsLink } from "./links-BNNF54ea.mjs";
|
|
14
|
+
import { t as hasExplicitOptions } from "./command-options-CMEANk0N.mjs";
|
|
15
|
+
import "./agent-scope-CnAwGoC2.mjs";
|
|
16
|
+
import "./boundary-path-DnlNnNbU.mjs";
|
|
17
|
+
import "./boundary-file-read-BB4JbZzx.mjs";
|
|
18
|
+
import "./logger-DWOgrQoS.mjs";
|
|
19
|
+
import "./exec-DX0zVVG7.mjs";
|
|
20
|
+
import "./openclaw-root-CSfnLaqO.mjs";
|
|
21
|
+
import { d as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR } from "./workspace-CoFl73GV.mjs";
|
|
22
|
+
import "./model-selection-BJk_hQeE.mjs";
|
|
23
|
+
import { g as writeConfigFile, i as createConfigIO } from "./io-CDQGJKjg.mjs";
|
|
24
|
+
import "./shell-env-CP5vTYhw.mjs";
|
|
25
|
+
import "./safe-text-Bsdm3bQS.mjs";
|
|
26
|
+
import "./version-Ckv-IbvB.mjs";
|
|
27
|
+
import "./env-substitution-DGlYO8jV.mjs";
|
|
28
|
+
import "./scan-paths-ahOy4FCQ.mjs";
|
|
29
|
+
import "./includes-DcO1JxKG.mjs";
|
|
30
|
+
import "./zod-schema.providers-core-CjdAU1TY.mjs";
|
|
31
|
+
import "./legacy-web-search-B1O8hiGy.mjs";
|
|
32
|
+
import "./schema-validator-BOH34EXk.mjs";
|
|
33
|
+
import "./registry-DBJv0dvl.mjs";
|
|
34
|
+
import "./config-state-kmbzTT63.mjs";
|
|
35
|
+
import "./min-host-version-EA11e8I5.mjs";
|
|
36
|
+
import "./manifest-registry-dO1qi1iI.mjs";
|
|
37
|
+
import "./runtime-guard-CWHkkioa.mjs";
|
|
38
|
+
import "./avatar-policy-uRVtZ7lJ.mjs";
|
|
39
|
+
import "./ip-BtMd9ssR.mjs";
|
|
40
|
+
import "./zod-schema.agent-runtime-BtGT59eP.mjs";
|
|
41
|
+
import "./zod-schema.core-CMT7g7UX.mjs";
|
|
42
|
+
import "./zod-schema.channels-BAG3dUtC.mjs";
|
|
43
|
+
import "./zod-schema.providers-whatsapp-qnpQepaf.mjs";
|
|
44
|
+
import "./config-Bhjk4Vel.mjs";
|
|
45
|
+
import "./process-scoped-map-BmLEe6nP.mjs";
|
|
46
|
+
import "./audit-fs-kb-rv_ZT.mjs";
|
|
47
|
+
import "./shared-VxKfp8Uy.mjs";
|
|
48
|
+
import "./resolve-DI6cKS4v.mjs";
|
|
49
|
+
import "./cli-name-lEyorNIN.mjs";
|
|
50
|
+
import "./command-format-D1DrcTDP.mjs";
|
|
51
|
+
import "./tailnet-Bc7IPWjH.mjs";
|
|
52
|
+
import "./net-OJiOmwY1.mjs";
|
|
53
|
+
import "./credentials-DTsHVnAc.mjs";
|
|
54
|
+
import "./message-channel-DCt8BIP7.mjs";
|
|
55
|
+
import "./store-B0V1qm_-.mjs";
|
|
56
|
+
import "./runtime-a4e8n7tq.mjs";
|
|
57
|
+
import "./registry-9YpVWxKb.mjs";
|
|
58
|
+
import "./plugins-D8oapapr.mjs";
|
|
59
|
+
import "./sessions-CYgBPqrc.mjs";
|
|
60
|
+
import { s as resolveSessionTranscriptsDir } from "./paths-CGxgQvpf.mjs";
|
|
61
|
+
import "./types-DoAKcnWC.mjs";
|
|
62
|
+
import "./session-write-lock-DE8KASyZ.mjs";
|
|
63
|
+
import "./json-files-BcpXnc9i.mjs";
|
|
64
|
+
import "./delivery-info-CGNfeMd6.mjs";
|
|
65
|
+
import "./method-scopes-hu-4urbi.mjs";
|
|
66
|
+
import "./call-CcXWxOVG.mjs";
|
|
67
|
+
import "./ws-Dv5Afaxu.mjs";
|
|
68
|
+
import "./control-ui-shared-Dhzx9It_.mjs";
|
|
69
|
+
import "./onboard-helpers-C5GCWoDO.mjs";
|
|
70
|
+
import "./wsl-BW8_A9_i.mjs";
|
|
71
|
+
import "./prompt-style-Dua6SIJh.mjs";
|
|
72
|
+
import "./progress-BxDdsPK3.mjs";
|
|
73
|
+
import "./registry-CFSnIRx_.mjs";
|
|
74
|
+
import "./internal-hooks-VOrTrqjW.mjs";
|
|
75
|
+
import "./accounts-DCMTPA3m.mjs";
|
|
76
|
+
import "./loader-CYgWRKc6.mjs";
|
|
77
|
+
import "./config-presence-DzY-U322.mjs";
|
|
78
|
+
import "./types-BaXbwBIP.mjs";
|
|
79
|
+
import "./hook-runner-global-z_Icpwvo.mjs";
|
|
80
|
+
import "./session-binding-service-Bmkk4TGJ.mjs";
|
|
81
|
+
import "./conversation-binding-elBCYjlA.mjs";
|
|
82
|
+
import "./sdk-alias-C5qDxQv2.mjs";
|
|
83
|
+
import "./bundle-lsp-DyU7-zol.mjs";
|
|
84
|
+
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CcQ-gmqC.mjs";
|
|
85
|
+
import "./status-BWLPyL8Y.mjs";
|
|
86
|
+
import { n as runCommandWithRuntime } from "./cli-utils-DA6vWpDg.mjs";
|
|
87
|
+
import "./note-CaQ2HD-A.mjs";
|
|
88
|
+
import "./clack-prompter-C0PG2vbx.mjs";
|
|
89
|
+
import "./setup.secret-input-DPX4L6ht.mjs";
|
|
90
|
+
import "./setup-DHU6h2yc.mjs";
|
|
91
|
+
import "./provider-auth-choices-DFywK1Pz.mjs";
|
|
92
|
+
import { t as setupWizardCommand } from "./onboard-CRZ2jxOE.mjs";
|
|
93
|
+
import JSON5 from "json5";
|
|
94
|
+
import fs from "node:fs/promises";
|
|
95
|
+
|
|
96
|
+
//#region src/commands/setup.ts
|
|
97
|
+
async function readConfigFileRaw(configPath) {
|
|
98
|
+
try {
|
|
99
|
+
const raw = await fs.readFile(configPath, "utf-8");
|
|
100
|
+
const parsed = JSON5.parse(raw);
|
|
101
|
+
if (parsed && typeof parsed === "object") return {
|
|
102
|
+
exists: true,
|
|
103
|
+
parsed
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
exists: true,
|
|
107
|
+
parsed: {}
|
|
108
|
+
};
|
|
109
|
+
} catch {
|
|
110
|
+
return {
|
|
111
|
+
exists: false,
|
|
112
|
+
parsed: {}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function setupCommand(opts, runtime = defaultRuntime) {
|
|
117
|
+
const desiredWorkspace = typeof opts?.workspace === "string" && opts.workspace.trim() ? opts.workspace.trim() : void 0;
|
|
118
|
+
const configPath = createConfigIO().configPath;
|
|
119
|
+
const existingRaw = await readConfigFileRaw(configPath);
|
|
120
|
+
const cfg = existingRaw.parsed;
|
|
121
|
+
const defaults = cfg.agents?.defaults ?? {};
|
|
122
|
+
const workspace = desiredWorkspace ?? defaults.workspace ?? DEFAULT_AGENT_WORKSPACE_DIR;
|
|
123
|
+
const next = {
|
|
124
|
+
...cfg,
|
|
125
|
+
agents: {
|
|
126
|
+
...cfg.agents,
|
|
127
|
+
defaults: {
|
|
128
|
+
...defaults,
|
|
129
|
+
workspace
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
gateway: {
|
|
133
|
+
...cfg.gateway,
|
|
134
|
+
mode: cfg.gateway?.mode ?? "local"
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
if (!existingRaw.exists || defaults.workspace !== workspace || cfg.gateway?.mode !== next.gateway?.mode) {
|
|
138
|
+
await writeConfigFile(next);
|
|
139
|
+
if (!existingRaw.exists) runtime.log(`Wrote ${formatConfigPath(configPath)}`);
|
|
140
|
+
else {
|
|
141
|
+
const updates = [];
|
|
142
|
+
if (defaults.workspace !== workspace) updates.push("set agents.defaults.workspace");
|
|
143
|
+
if (cfg.gateway?.mode !== next.gateway?.mode) updates.push("set gateway.mode");
|
|
144
|
+
logConfigUpdated(runtime, {
|
|
145
|
+
path: configPath,
|
|
146
|
+
suffix: updates.length > 0 ? `(${updates.join(", ")})` : void 0
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
} else runtime.log(`Config OK: ${formatConfigPath(configPath)}`);
|
|
150
|
+
const ws = await ensureAgentWorkspace({
|
|
151
|
+
dir: workspace,
|
|
152
|
+
ensureBootstrapFiles: !next.agents?.defaults?.skipBootstrap
|
|
153
|
+
});
|
|
154
|
+
runtime.log(`Workspace OK: ${shortenHomePath(ws.dir)}`);
|
|
155
|
+
const sessionsDir = resolveSessionTranscriptsDir();
|
|
156
|
+
await fs.mkdir(sessionsDir, { recursive: true });
|
|
157
|
+
runtime.log(`Sessions OK: ${shortenHomePath(sessionsDir)}`);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//#endregion
|
|
161
|
+
//#region src/cli/program/register.setup.ts
|
|
162
|
+
function registerSetupCommand(program) {
|
|
163
|
+
program.command("setup").description("Initialize ~/.Heretek-AI/openclaw.json and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.openclaw.ai/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.openclaw/workspace; stored as agents.defaults.workspace)").option("--wizard", "Run interactive onboarding", false).option("--non-interactive", "Run onboarding without prompts", false).option("--mode <mode>", "Onboard mode: local|remote").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").action(async (opts, command) => {
|
|
164
|
+
await runCommandWithRuntime(defaultRuntime, async () => {
|
|
165
|
+
const hasWizardFlags = hasExplicitOptions(command, [
|
|
166
|
+
"wizard",
|
|
167
|
+
"nonInteractive",
|
|
168
|
+
"mode",
|
|
169
|
+
"remoteUrl",
|
|
170
|
+
"remoteToken"
|
|
171
|
+
]);
|
|
172
|
+
if (opts.wizard || hasWizardFlags) {
|
|
173
|
+
await setupWizardCommand({
|
|
174
|
+
workspace: opts.workspace,
|
|
175
|
+
nonInteractive: Boolean(opts.nonInteractive),
|
|
176
|
+
mode: opts.mode,
|
|
177
|
+
remoteUrl: opts.remoteUrl,
|
|
178
|
+
remoteToken: opts.remoteToken
|
|
179
|
+
}, defaultRuntime);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
await setupCommand({ workspace: opts.workspace }, defaultRuntime);
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
//#endregion
|
|
188
|
+
export { registerSetupCommand };
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import "./redact-CtGOTRBK.mjs";
|
|
2
|
+
import "./errors-CbvpN2RP.mjs";
|
|
3
|
+
import "./logger-vRSRu9wD.mjs";
|
|
4
|
+
import "./paths-CNST7z3O.mjs";
|
|
5
|
+
import "./tmp-openclaw-dir-BeWwpCKM.mjs";
|
|
6
|
+
import { r as theme } from "./theme-w86ra_7m.mjs";
|
|
7
|
+
import "./globals-DZFR3wyP.mjs";
|
|
8
|
+
import { m as defaultRuntime } from "./subsystem-yLe4Gjha.mjs";
|
|
9
|
+
import "./ansi-BJ9IOlIp.mjs";
|
|
10
|
+
import "./boolean-Bwxxidw8.mjs";
|
|
11
|
+
import "./env-9fhyzTaG.mjs";
|
|
12
|
+
import { S as shortenHomePath } from "./utils-Dc9DiBqf.mjs";
|
|
13
|
+
import { t as formatDocsLink } from "./links-BNNF54ea.mjs";
|
|
14
|
+
import { t as hasExplicitOptions } from "./command-options-CMEANk0N.mjs";
|
|
15
|
+
import "./agent-scope-CnAwGoC2.mjs";
|
|
16
|
+
import "./boundary-path-DnlNnNbU.mjs";
|
|
17
|
+
import "./boundary-file-read-BB4JbZzx.mjs";
|
|
18
|
+
import "./logger-DWOgrQoS.mjs";
|
|
19
|
+
import "./exec-DX0zVVG7.mjs";
|
|
20
|
+
import "./openclaw-root-CSfnLaqO.mjs";
|
|
21
|
+
import { d as ensureAgentWorkspace, n as DEFAULT_AGENT_WORKSPACE_DIR } from "./workspace-CoFl73GV.mjs";
|
|
22
|
+
import "./model-selection-BJk_hQeE.mjs";
|
|
23
|
+
import { g as writeConfigFile, i as createConfigIO } from "./io-CDQGJKjg.mjs";
|
|
24
|
+
import "./shell-env-CP5vTYhw.mjs";
|
|
25
|
+
import "./safe-text-Bsdm3bQS.mjs";
|
|
26
|
+
import "./version-Ckv-IbvB.mjs";
|
|
27
|
+
import "./env-substitution-DGlYO8jV.mjs";
|
|
28
|
+
import "./scan-paths-ahOy4FCQ.mjs";
|
|
29
|
+
import "./includes-DcO1JxKG.mjs";
|
|
30
|
+
import "./zod-schema.providers-core-CjdAU1TY.mjs";
|
|
31
|
+
import "./legacy-web-search-B1O8hiGy.mjs";
|
|
32
|
+
import "./schema-validator-BOH34EXk.mjs";
|
|
33
|
+
import "./registry-DBJv0dvl.mjs";
|
|
34
|
+
import "./config-state-kmbzTT63.mjs";
|
|
35
|
+
import "./min-host-version-EA11e8I5.mjs";
|
|
36
|
+
import "./manifest-registry-dO1qi1iI.mjs";
|
|
37
|
+
import "./runtime-guard-CWHkkioa.mjs";
|
|
38
|
+
import "./avatar-policy-uRVtZ7lJ.mjs";
|
|
39
|
+
import "./ip-BtMd9ssR.mjs";
|
|
40
|
+
import "./zod-schema.agent-runtime-BtGT59eP.mjs";
|
|
41
|
+
import "./zod-schema.core-CMT7g7UX.mjs";
|
|
42
|
+
import "./zod-schema.channels-BAG3dUtC.mjs";
|
|
43
|
+
import "./zod-schema.providers-whatsapp-qnpQepaf.mjs";
|
|
44
|
+
import "./config-Bhjk4Vel.mjs";
|
|
45
|
+
import "./process-scoped-map-BmLEe6nP.mjs";
|
|
46
|
+
import "./audit-fs-kb-rv_ZT.mjs";
|
|
47
|
+
import "./shared-VxKfp8Uy.mjs";
|
|
48
|
+
import "./resolve-DI6cKS4v.mjs";
|
|
49
|
+
import "./cli-name-lEyorNIN.mjs";
|
|
50
|
+
import "./command-format-D1DrcTDP.mjs";
|
|
51
|
+
import "./tailnet-Bc7IPWjH.mjs";
|
|
52
|
+
import "./net-OJiOmwY1.mjs";
|
|
53
|
+
import "./credentials-DTsHVnAc.mjs";
|
|
54
|
+
import "./message-channel-DCt8BIP7.mjs";
|
|
55
|
+
import "./store-B0V1qm_-.mjs";
|
|
56
|
+
import "./runtime-a4e8n7tq.mjs";
|
|
57
|
+
import "./registry-9YpVWxKb.mjs";
|
|
58
|
+
import "./plugins-D8oapapr.mjs";
|
|
59
|
+
import "./sessions-CYgBPqrc.mjs";
|
|
60
|
+
import { s as resolveSessionTranscriptsDir } from "./paths-CGxgQvpf.mjs";
|
|
61
|
+
import "./types-DoAKcnWC.mjs";
|
|
62
|
+
import "./session-write-lock-DE8KASyZ.mjs";
|
|
63
|
+
import "./json-files-BcpXnc9i.mjs";
|
|
64
|
+
import "./delivery-info-CGNfeMd6.mjs";
|
|
65
|
+
import "./method-scopes-hu-4urbi.mjs";
|
|
66
|
+
import "./call-CcXWxOVG.mjs";
|
|
67
|
+
import "./ws-Dv5Afaxu.mjs";
|
|
68
|
+
import "./control-ui-shared-Dhzx9It_.mjs";
|
|
69
|
+
import "./onboard-helpers-C5GCWoDO.mjs";
|
|
70
|
+
import "./wsl-BW8_A9_i.mjs";
|
|
71
|
+
import "./prompt-style-Dua6SIJh.mjs";
|
|
72
|
+
import "./progress-BxDdsPK3.mjs";
|
|
73
|
+
import "./registry-CFSnIRx_.mjs";
|
|
74
|
+
import "./internal-hooks-VOrTrqjW.mjs";
|
|
75
|
+
import "./accounts-DCMTPA3m.mjs";
|
|
76
|
+
import "./loader-CYgWRKc6.mjs";
|
|
77
|
+
import "./config-presence-DzY-U322.mjs";
|
|
78
|
+
import "./types-BaXbwBIP.mjs";
|
|
79
|
+
import "./hook-runner-global-z_Icpwvo.mjs";
|
|
80
|
+
import "./session-binding-service-Bmkk4TGJ.mjs";
|
|
81
|
+
import "./conversation-binding-elBCYjlA.mjs";
|
|
82
|
+
import "./sdk-alias-C5qDxQv2.mjs";
|
|
83
|
+
import "./bundle-lsp-DyU7-zol.mjs";
|
|
84
|
+
import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CcQ-gmqC.mjs";
|
|
85
|
+
import "./status-BWLPyL8Y.mjs";
|
|
86
|
+
import { n as runCommandWithRuntime } from "./cli-utils-DA6vWpDg.mjs";
|
|
87
|
+
import "./note-CaQ2HD-A.mjs";
|
|
88
|
+
import "./clack-prompter-C0PG2vbx.mjs";
|
|
89
|
+
import "./setup.secret-input-DPX4L6ht.mjs";
|
|
90
|
+
import "./setup-BufxzaUK.mjs";
|
|
91
|
+
import "./provider-auth-choices-DFywK1Pz.mjs";
|
|
92
|
+
import { t as setupWizardCommand } from "./onboard-CyzbNCBF.mjs";
|
|
93
|
+
import JSON5 from "json5";
|
|
94
|
+
import fs from "node:fs/promises";
|
|
95
|
+
|
|
96
|
+
//#region src/commands/setup.ts
|
|
97
|
+
async function readConfigFileRaw(configPath) {
|
|
98
|
+
try {
|
|
99
|
+
const raw = await fs.readFile(configPath, "utf-8");
|
|
100
|
+
const parsed = JSON5.parse(raw);
|
|
101
|
+
if (parsed && typeof parsed === "object") return {
|
|
102
|
+
exists: true,
|
|
103
|
+
parsed
|
|
104
|
+
};
|
|
105
|
+
return {
|
|
106
|
+
exists: true,
|
|
107
|
+
parsed: {}
|
|
108
|
+
};
|
|
109
|
+
} catch {
|
|
110
|
+
return {
|
|
111
|
+
exists: false,
|
|
112
|
+
parsed: {}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
async function setupCommand(opts, runtime = defaultRuntime) {
|
|
117
|
+
const desiredWorkspace = typeof opts?.workspace === "string" && opts.workspace.trim() ? opts.workspace.trim() : void 0;
|
|
118
|
+
const configPath = createConfigIO().configPath;
|
|
119
|
+
const existingRaw = await readConfigFileRaw(configPath);
|
|
120
|
+
const cfg = existingRaw.parsed;
|
|
121
|
+
const defaults = cfg.agents?.defaults ?? {};
|
|
122
|
+
const workspace = desiredWorkspace ?? defaults.workspace ?? DEFAULT_AGENT_WORKSPACE_DIR;
|
|
123
|
+
const next = {
|
|
124
|
+
...cfg,
|
|
125
|
+
agents: {
|
|
126
|
+
...cfg.agents,
|
|
127
|
+
defaults: {
|
|
128
|
+
...defaults,
|
|
129
|
+
workspace
|
|
130
|
+
}
|
|
131
|
+
},
|
|
132
|
+
gateway: {
|
|
133
|
+
...cfg.gateway,
|
|
134
|
+
mode: cfg.gateway?.mode ?? "local"
|
|
135
|
+
}
|
|
136
|
+
};
|
|
137
|
+
if (!existingRaw.exists || defaults.workspace !== workspace || cfg.gateway?.mode !== next.gateway?.mode) {
|
|
138
|
+
await writeConfigFile(next);
|
|
139
|
+
if (!existingRaw.exists) runtime.log(`Wrote ${formatConfigPath(configPath)}`);
|
|
140
|
+
else {
|
|
141
|
+
const updates = [];
|
|
142
|
+
if (defaults.workspace !== workspace) updates.push("set agents.defaults.workspace");
|
|
143
|
+
if (cfg.gateway?.mode !== next.gateway?.mode) updates.push("set gateway.mode");
|
|
144
|
+
logConfigUpdated(runtime, {
|
|
145
|
+
path: configPath,
|
|
146
|
+
suffix: updates.length > 0 ? `(${updates.join(", ")})` : void 0
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
} else runtime.log(`Config OK: ${formatConfigPath(configPath)}`);
|
|
150
|
+
const ws = await ensureAgentWorkspace({
|
|
151
|
+
dir: workspace,
|
|
152
|
+
ensureBootstrapFiles: !next.agents?.defaults?.skipBootstrap
|
|
153
|
+
});
|
|
154
|
+
runtime.log(`Workspace OK: ${shortenHomePath(ws.dir)}`);
|
|
155
|
+
const sessionsDir = resolveSessionTranscriptsDir();
|
|
156
|
+
await fs.mkdir(sessionsDir, { recursive: true });
|
|
157
|
+
runtime.log(`Sessions OK: ${shortenHomePath(sessionsDir)}`);
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
//#endregion
|
|
161
|
+
//#region src/cli/program/register.setup.ts
|
|
162
|
+
function registerSetupCommand(program) {
|
|
163
|
+
program.command("setup").description("Initialize ~/.Heretek-AI/openclaw.json and the agent workspace").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/setup", "docs.openclaw.ai/cli/setup")}\n`).option("--workspace <dir>", "Agent workspace directory (default: ~/.openclaw/workspace; stored as agents.defaults.workspace)").option("--wizard", "Run interactive onboarding", false).option("--non-interactive", "Run onboarding without prompts", false).option("--mode <mode>", "Onboard mode: local|remote").option("--remote-url <url>", "Remote Gateway WebSocket URL").option("--remote-token <token>", "Remote Gateway token (optional)").action(async (opts, command) => {
|
|
164
|
+
await runCommandWithRuntime(defaultRuntime, async () => {
|
|
165
|
+
const hasWizardFlags = hasExplicitOptions(command, [
|
|
166
|
+
"wizard",
|
|
167
|
+
"nonInteractive",
|
|
168
|
+
"mode",
|
|
169
|
+
"remoteUrl",
|
|
170
|
+
"remoteToken"
|
|
171
|
+
]);
|
|
172
|
+
if (opts.wizard || hasWizardFlags) {
|
|
173
|
+
await setupWizardCommand({
|
|
174
|
+
workspace: opts.workspace,
|
|
175
|
+
nonInteractive: Boolean(opts.nonInteractive),
|
|
176
|
+
mode: opts.mode,
|
|
177
|
+
remoteUrl: opts.remoteUrl,
|
|
178
|
+
remoteToken: opts.remoteToken
|
|
179
|
+
}, defaultRuntime);
|
|
180
|
+
return;
|
|
181
|
+
}
|
|
182
|
+
await setupCommand({ workspace: opts.workspace }, defaultRuntime);
|
|
183
|
+
});
|
|
184
|
+
});
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
//#endregion
|
|
188
|
+
export { registerSetupCommand };
|