@echoclaw/echo-0g 1.2.7 → 1.2.8

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/README.md CHANGED
@@ -41,6 +41,23 @@ echo0g 0g-compute wizard
41
41
 
42
42
  > **Two interfaces:** Interactive wizards (`onboard`, `0g-compute wizard`) are for humans via SSH/terminal. Individual `--json` commands are for AI agents via OpenClaw.
43
43
 
44
+ ## Security
45
+
46
+ EchoClaw treats secrets seriously:
47
+
48
+ | Feature | How it works |
49
+ |---------|-------------|
50
+ | **Private key encryption** | AES-256-GCM with scrypt KDF (N=16384, r=8, p=1). Unique salt + IV per encryption. |
51
+ | **Password storage** | `ECHO_KEYSTORE_PASSWORD` saved to `~/.openclaw/.env` (chmod 600), not in config files. |
52
+ | **Config file permissions** | `openclaw.json` written with mode 600 (owner-only read/write). |
53
+ | **Webhook tokens** | `hooks.token` synced with skill env; gateway token mismatch auto-detected and fixed. |
54
+ | **2-step send** | Transfers require prepare → confirm. Intents expire after 10 minutes. |
55
+ | **Headless guardrails** | Wallet mutations blocked in agent/non-TTY mode unless explicitly overridden. |
56
+ | **Secret masking** | Tokens and keys never printed to stdout/stderr — masked in all output. |
57
+ | **Atomic writes** | All config/env writes use tmp + rename to prevent corruption. |
58
+
59
+ Validate your setup: `echo0g setup test-hooks --json`
60
+
44
61
  ## Documentation
45
62
 
46
63
  Full command reference and guides: **https://echoclaw.ai/docs/getting-started/quick-start**
@@ -53,7 +70,8 @@ Full skill reference online: **https://echoclaw.ai/skill.md**
53
70
 
54
71
  ```bash
55
72
  echo0g setup openclaw # Link skill to OpenClaw
56
- echo0g setup password --from-env # Set keystore password
73
+ echo0g setup password --from-env # Set keystore password (saves to .env)
74
+ echo0g setup test-hooks # Validate webhook config
57
75
  ```
58
76
 
59
77
  ## Development
@@ -1 +1 @@
1
- {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/password.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,WAAW,EAA0B,MAAM,aAAa,CAAC;AA0ErF,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAC"}
1
+ {"version":3,"file":"password.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/password.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,WAAW,EAA0B,MAAM,aAAa,CAAC;AA8ErF,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import inquirer from "inquirer";
2
2
  import { getKeystorePassword } from "../../../utils/env.js";
3
- import { loadOpenclawConfig, patchOpenclawSkillEnv } from "../../../openclaw/config.js";
3
+ import { loadOpenclawConfig, appendToEnvFile, readEnvFileValue } from "../../../openclaw/config.js";
4
4
  import { writeStderr } from "../../../utils/output.js";
5
5
  import { colors } from "../../../utils/ui.js";
6
6
  const SKILL_KEY = "echo0g";
@@ -21,6 +21,13 @@ function detect(state) {
21
21
  state.passwordSet = true;
22
22
  return { configured: true, summary: "Password found in OpenClaw config" };
23
23
  }
24
+ // 3. Fallback: check if password exists in ~/.openclaw/.env
25
+ const envFileValue = readEnvFileValue("ECHO_KEYSTORE_PASSWORD");
26
+ if (envFileValue) {
27
+ process.env.ECHO_KEYSTORE_PASSWORD = envFileValue;
28
+ state.passwordSet = true;
29
+ return { configured: true, summary: "Password found in .env file" };
30
+ }
24
31
  return { configured: false, summary: "Keystore password not configured" };
25
32
  }
26
33
  async function run(state) {
@@ -38,10 +45,6 @@ async function run(state) {
38
45
  mask: "*",
39
46
  validate: (input) => input === password || "Passwords do not match",
40
47
  }]);
41
- // Save to OpenClaw skill env
42
- const envMap = {
43
- ECHO_KEYSTORE_PASSWORD: password,
44
- };
45
48
  // Ask about auto-update
46
49
  const { autoUpdate } = await inquirer.prompt([{
47
50
  type: "confirm",
@@ -49,17 +52,18 @@ async function run(state) {
49
52
  message: "Enable auto-update checks?",
50
53
  default: true,
51
54
  }]);
55
+ // Save to ~/.openclaw/.env (chmod 600) — not openclaw.json
56
+ const envPath = appendToEnvFile("ECHO_KEYSTORE_PASSWORD", password);
52
57
  if (autoUpdate) {
53
- envMap.ECHO_AUTO_UPDATE = "1";
58
+ appendToEnvFile("ECHO_AUTO_UPDATE", "1", envPath);
54
59
  }
55
- const patchResult = patchOpenclawSkillEnv(SKILL_KEY, envMap, { force: true });
56
- writeStderr(colors.muted(` OpenClaw config: ${patchResult.path} (${patchResult.status})`));
60
+ writeStderr(colors.muted(` Saved to: ${envPath} (chmod 600)`));
57
61
  // Set in current process so wallet step can use it
58
62
  process.env.ECHO_KEYSTORE_PASSWORD = password;
59
63
  state.passwordSet = true;
60
64
  return {
61
65
  action: "configured",
62
- message: "Keystore password saved to OpenClaw skill env",
66
+ message: "Keystore password saved to .env",
63
67
  };
64
68
  }
65
69
  export const passwordStep = {
@@ -1 +1 @@
1
- {"version":3,"file":"password.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/password.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"password.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/password.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/webhooks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,WAAW,EAA0B,MAAM,aAAa,CAAC;AA4HrF,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAC"}
1
+ {"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/webhooks.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAgB,WAAW,EAA0B,MAAM,aAAa,CAAC;AAyIrF,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { randomBytes } from "node:crypto";
2
2
  import inquirer from "inquirer";
3
- import { loadOpenclawConfig, patchOpenclawConfig, patchOpenclawSkillEnv } from "../../../openclaw/config.js";
3
+ import { loadOpenclawConfig, patchOpenclawConfig, patchOpenclawSkillEnv, removeOpenclawConfigKey } from "../../../openclaw/config.js";
4
4
  import { writeStderr } from "../../../utils/output.js";
5
5
  import { colors } from "../../../utils/ui.js";
6
6
  const SKILL_KEY = "echo0g";
@@ -90,6 +90,7 @@ async function run(state) {
90
90
  // 1. Patch gateway config: per-key to preserve existing hooks.* keys
91
91
  patchOpenclawConfig("hooks.enabled", true, { force: true });
92
92
  patchOpenclawConfig("hooks.token", sharedToken, { force: true });
93
+ patchOpenclawConfig("hooks.defaultSessionKey", "hook:alerts", { force: false });
93
94
  // 2. Patch skill env
94
95
  const skillEnv = {
95
96
  OPENCLAW_HOOKS_BASE_URL: baseUrl,
@@ -103,8 +104,19 @@ async function run(state) {
103
104
  if (to)
104
105
  skillEnv.OPENCLAW_HOOKS_TO = to;
105
106
  const patchResult = patchOpenclawSkillEnv(SKILL_KEY, skillEnv, { force: true });
106
- writeStderr(colors.muted(` Gateway: hooks.enabled=true, hooks.token set`));
107
+ writeStderr(colors.muted(` Gateway: hooks.enabled=true, hooks.token set, defaultSessionKey=hook:alerts`));
107
108
  writeStderr(colors.muted(` Skill env: ${patchResult.keysSet.join(", ")}`));
109
+ // 3. Remove gateway.auth.token from config if OPENCLAW_GATEWAY_TOKEN is in env
110
+ // (prevents WS auth mismatch — server reads config-first, client reads env-first)
111
+ const envGatewayToken = process.env.OPENCLAW_GATEWAY_TOKEN;
112
+ if (envGatewayToken) {
113
+ const cfgReloaded = loadOpenclawConfig();
114
+ const configGatewayToken = cfgReloaded?.gateway?.auth?.token;
115
+ if (configGatewayToken && configGatewayToken !== envGatewayToken) {
116
+ removeOpenclawConfigKey("gateway.auth.token");
117
+ writeStderr(colors.warn(" Removed gateway.auth.token from config (env var is the source of truth)"));
118
+ }
119
+ }
108
120
  state.webhooksConfigured = true;
109
121
  return {
110
122
  action: "configured",
@@ -1 +1 @@
1
- {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/webhooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/webhooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,kBAAkB,IAAI,OAAO,CA2X5C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,kBAAkB,IAAI,OAAO,CAob5C"}
@@ -1,8 +1,9 @@
1
+ import { join } from "node:path";
1
2
  import { Command } from "commander";
2
3
  import inquirer from "inquirer";
3
4
  import { EchoError, ErrorCodes } from "../errors.js";
4
5
  import { respond } from "../utils/respond.js";
5
- import { patchOpenclawSkillEnv, patchOpenclawConfig, getSkillHooksEnv } from "../openclaw/config.js";
6
+ import { patchOpenclawSkillEnv, patchOpenclawConfig, getSkillHooksEnv, loadOpenclawConfig, removeOpenclawConfigKey, appendToEnvFile, readEnvFileValue, getOpenclawHome } from "../openclaw/config.js";
6
7
  import { getKeystorePassword } from "../utils/env.js";
7
8
  import { isHeadless, writeJsonSuccess } from "../utils/output.js";
8
9
  import { successBox, warnBox, infoBox, colors } from "../utils/ui.js";
@@ -35,11 +36,12 @@ export function createSetupCommand() {
35
36
  // echo0g setup password
36
37
  setup
37
38
  .command("password")
38
- .description("Save ECHO_KEYSTORE_PASSWORD to OpenClaw config")
39
+ .description("Save ECHO_KEYSTORE_PASSWORD to .env (default) or OpenClaw config")
39
40
  .option("--from-env", "Read password from ECHO_KEYSTORE_PASSWORD env var")
40
41
  .option("--password <password>", "Provide password directly (less secure — visible in shell history)")
41
- .option("--force", "Overwrite existing password in config")
42
- .option("--auto-update", "Also set ECHO_AUTO_UPDATE=1 in config")
42
+ .option("--force", "Overwrite existing password")
43
+ .option("--auto-update", "Also set ECHO_AUTO_UPDATE=1")
44
+ .option("--to-config", "Save to openclaw.json instead of .env (legacy, less secure)")
43
45
  .action(async (opts) => {
44
46
  // 1. Determine password source: --password > --from-env > TTY prompt
45
47
  let password;
@@ -70,54 +72,64 @@ export function createSetupCommand() {
70
72
  if (!password || password.length < 8) {
71
73
  throw new EchoError(ErrorCodes.PASSWORD_TOO_SHORT, "Password must be at least 8 characters.", "Choose a longer password.");
72
74
  }
73
- // 3. Build env map (password is guaranteed non-null after validation above)
74
- const envMap = { ECHO_KEYSTORE_PASSWORD: password };
75
- if (opts.autoUpdate) {
76
- envMap.ECHO_AUTO_UPDATE = "1";
77
- }
78
- // 4. Patch openclaw.json
79
- const result = patchOpenclawSkillEnv("echo0g", envMap, { force: opts.force });
80
- // 5. Handle "already configured" case
81
- if (result.keysSkipped.length > 0 && result.keysSet.length === 0) {
75
+ // 3. Save password
76
+ if (opts.toConfig) {
77
+ // Legacy: save to openclaw.json (skills.entries.echo0g.env)
78
+ const envMap = { ECHO_KEYSTORE_PASSWORD: password };
79
+ if (opts.autoUpdate) {
80
+ envMap.ECHO_AUTO_UPDATE = "1";
81
+ }
82
+ const result = patchOpenclawSkillEnv("echo0g", envMap, { force: opts.force });
83
+ if (result.keysSkipped.length > 0 && result.keysSet.length === 0) {
84
+ if (isHeadless()) {
85
+ writeJsonSuccess({ status: result.status, path: result.path, keysSet: result.keysSet, keysSkipped: result.keysSkipped, restartRequired: false });
86
+ }
87
+ else {
88
+ infoBox("Already Configured", `Password already set in ${result.path}\n\nUse ${colors.info("--force")} to overwrite.`);
89
+ }
90
+ return;
91
+ }
82
92
  if (isHeadless()) {
83
- writeJsonSuccess({
84
- status: result.status,
85
- path: result.path,
86
- keysSet: result.keysSet,
87
- keysSkipped: result.keysSkipped,
88
- restartRequired: false,
89
- });
93
+ writeJsonSuccess({ status: result.status, path: result.path, keysSet: result.keysSet, keysSkipped: result.keysSkipped, restartRequired: true });
90
94
  }
91
95
  else {
92
- infoBox("Already Configured", `Password already set in ${result.path}\n\nUse ${colors.info("--force")} to overwrite.`);
96
+ successBox("Password Saved (legacy)", `Saved to: ${colors.info(result.path)}\n` +
97
+ `Keys set: ${colors.value(result.keysSet.join(", "))}\n` +
98
+ `\n${colors.warn("Note:")} Consider using the default .env storage for better security:\n` +
99
+ ` echo0g setup password --from-env ${colors.muted("(saves to ~/.openclaw/.env, chmod 600)")}`);
93
100
  }
94
- return;
95
- }
96
- // 6. Respond with success + restart instructions
97
- if (isHeadless()) {
98
- writeJsonSuccess({
99
- status: result.status,
100
- path: result.path,
101
- keysSet: result.keysSet,
102
- keysSkipped: result.keysSkipped,
103
- restartRequired: true,
104
- });
105
101
  }
106
102
  else {
107
- successBox("Password Saved", `Saved to: ${colors.info(result.path)}\n` +
108
- `Keys set: ${colors.value(result.keysSet.join(", "))}\n` +
109
- (result.keysSkipped.length > 0
110
- ? `Keys skipped: ${colors.muted(result.keysSkipped.join(", "))}\n`
111
- : "") +
112
- `\n${colors.warn("Apply changes:")}\n` +
113
- ` 1. Restart OpenClaw gateway: systemctl restart openclaw-gateway\n` +
114
- ` (or: openclaw gateway start)\n` +
115
- ` 2. Send /reset (or /new) in the chat`);
116
- if (result.status === "created" || result.status === "updated") {
117
- warnBox("Note", "openclaw.json has been reformatted as standard JSON. Comments (if any) were removed.\n\n" +
118
- "If you still get KEYSTORE_DECRYPT_FAILED after restart, check that no stale\n" +
119
- "ECHO_KEYSTORE_PASSWORD exists in process env, systemd unit, or ~/.openclaw/.env\n" +
120
- "— those sources may take priority over skills.entries.");
103
+ // Default: save to ~/.openclaw/.env (chmod 600)
104
+ if (!opts.force) {
105
+ const existing = readEnvFileValue("ECHO_KEYSTORE_PASSWORD");
106
+ if (existing) {
107
+ if (isHeadless()) {
108
+ writeJsonSuccess({ status: "exists", path: join(getOpenclawHome(), ".env"), keysSet: [], keysSkipped: ["ECHO_KEYSTORE_PASSWORD"], restartRequired: false });
109
+ }
110
+ else {
111
+ infoBox("Already Configured", `Password already set in .env\n\nUse ${colors.info("--force")} to overwrite.`);
112
+ }
113
+ return;
114
+ }
115
+ }
116
+ const envPath = appendToEnvFile("ECHO_KEYSTORE_PASSWORD", password);
117
+ if (opts.autoUpdate) {
118
+ appendToEnvFile("ECHO_AUTO_UPDATE", "1", envPath);
119
+ }
120
+ const keysSet = opts.autoUpdate
121
+ ? ["ECHO_KEYSTORE_PASSWORD", "ECHO_AUTO_UPDATE"]
122
+ : ["ECHO_KEYSTORE_PASSWORD"];
123
+ if (isHeadless()) {
124
+ writeJsonSuccess({ status: "updated", path: envPath, keysSet, keysSkipped: [], restartRequired: true });
125
+ }
126
+ else {
127
+ successBox("Password Saved", `Saved to: ${colors.info(envPath)} ${colors.muted("(chmod 600)")}\n` +
128
+ `Keys set: ${colors.value(keysSet.join(", "))}\n` +
129
+ `\n${colors.warn("Apply changes:")}\n` +
130
+ ` 1. Restart OpenClaw gateway: systemctl restart openclaw-gateway\n` +
131
+ ` (or: openclaw gateway start)\n` +
132
+ ` 2. Send /reset (or /new) in the chat`);
121
133
  }
122
134
  }
123
135
  });
@@ -132,6 +144,7 @@ export function createSetupCommand() {
132
144
  .option("--channel <ch>", "Delivery channel override")
133
145
  .option("--to <recipient>", "Recipient override")
134
146
  .option("--include-guardrail", "Include GUARDRAIL_EXCEEDED events")
147
+ .option("--session-key <key>", "Set hooks.defaultSessionKey (e.g. hook:alerts)")
135
148
  .option("--force", "Overwrite existing keys")
136
149
  .action((opts) => {
137
150
  const envMap = {};
@@ -169,13 +182,33 @@ export function createSetupCommand() {
169
182
  }
170
183
  // Patch openclaw.json
171
184
  const result = patchOpenclawSkillEnv("echo0g", envMap, { force: opts.force });
185
+ let configChanged = result.keysSet.length > 0;
172
186
  // Sync token to gateway config (hooks.token) — prevents drift
173
187
  if (envMap.OPENCLAW_HOOKS_TOKEN) {
174
- patchOpenclawConfig("hooks.token", envMap.OPENCLAW_HOOKS_TOKEN, { force: true });
175
- patchOpenclawConfig("hooks.enabled", true, { force: true });
188
+ const r1 = patchOpenclawConfig("hooks.token", envMap.OPENCLAW_HOOKS_TOKEN, { force: true });
189
+ const r2 = patchOpenclawConfig("hooks.enabled", true, { force: true });
190
+ if (r1.keysSet.length > 0 || r2.keysSet.length > 0)
191
+ configChanged = true;
192
+ }
193
+ // Set session key if provided
194
+ if (opts.sessionKey) {
195
+ const r = patchOpenclawConfig("hooks.defaultSessionKey", opts.sessionKey, { force: true });
196
+ if (r.keysSet.length > 0)
197
+ configChanged = true;
198
+ }
199
+ // Remove gateway.auth.token if it conflicts with OPENCLAW_GATEWAY_TOKEN env
200
+ // (prevents WS 1008 — server reads config-first, client reads env-first)
201
+ const envGwToken = process.env.OPENCLAW_GATEWAY_TOKEN;
202
+ if (envGwToken) {
203
+ const ocConf = loadOpenclawConfig();
204
+ const cfgGwToken = ocConf?.gateway?.auth?.token;
205
+ if (cfgGwToken && cfgGwToken !== envGwToken) {
206
+ removeOpenclawConfigKey("gateway.auth.token");
207
+ configChanged = true;
208
+ }
176
209
  }
177
- // Handle "already configured" case
178
- if (result.keysSkipped.length > 0 && result.keysSet.length === 0) {
210
+ // Handle "already configured" case — only if NOTHING changed at all
211
+ if (!configChanged) {
179
212
  if (isHeadless()) {
180
213
  writeJsonSuccess({
181
214
  status: result.status,
@@ -235,7 +268,37 @@ export function createSetupCommand() {
235
268
  else {
236
269
  checks.push({ name: "Token sync", pass: true, detail: "hooks.token and skill env token match" });
237
270
  }
238
- // 2. Routing
271
+ // 2. Gateway token (WS auth for hook delivery)
272
+ const ocConfig = loadOpenclawConfig();
273
+ const envGwToken = process.env.OPENCLAW_GATEWAY_TOKEN;
274
+ const cfgGwToken = ocConfig?.gateway?.auth?.token;
275
+ if (envGwToken && cfgGwToken) {
276
+ if (envGwToken === cfgGwToken) {
277
+ checks.push({ name: "Gateway token", pass: true, detail: "gateway.auth.token matches OPENCLAW_GATEWAY_TOKEN env" });
278
+ }
279
+ else {
280
+ checks.push({
281
+ name: "Gateway token",
282
+ pass: false,
283
+ detail: "gateway.auth.token in config differs from OPENCLAW_GATEWAY_TOKEN env — hook delivery will fail (WS 1008). Fix: remove gateway.auth.token from openclaw.json",
284
+ });
285
+ }
286
+ }
287
+ else if (envGwToken && !cfgGwToken) {
288
+ checks.push({ name: "Gateway token", pass: true, detail: "OPENCLAW_GATEWAY_TOKEN in env, no config override (correct)" });
289
+ }
290
+ else {
291
+ checks.push({ name: "Gateway token", pass: true, detail: "No OPENCLAW_GATEWAY_TOKEN env — using config value only" });
292
+ }
293
+ // 3. Session key
294
+ const sessionKey = ocConfig?.hooks?.defaultSessionKey;
295
+ if (sessionKey) {
296
+ checks.push({ name: "Session key", pass: true, detail: `hooks.defaultSessionKey=${sessionKey}` });
297
+ }
298
+ else {
299
+ checks.push({ name: "Session key", pass: false, detail: "Not set — each hook gets random session (no context continuity). Fix: set hooks.defaultSessionKey in openclaw.json" });
300
+ }
301
+ // 4. Routing
239
302
  const hooksEnv = getSkillHooksEnv();
240
303
  const hasBaseUrl = !!hooksEnv.OPENCLAW_HOOKS_BASE_URL;
241
304
  const hasToken = !!hooksEnv.OPENCLAW_HOOKS_TOKEN;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"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"}
@@ -40,6 +40,26 @@ export declare function patchOpenclawConfig(dotPath: string, value: unknown, opt
40
40
  force?: boolean;
41
41
  merge?: boolean;
42
42
  }): PatchResult;
43
+ /**
44
+ * Remove a key at a dot-separated path from openclaw.json.
45
+ * Idempotent: returns false if file or key does not exist.
46
+ */
47
+ export declare function removeOpenclawConfigKey(dotPath: string): boolean;
48
+ /** Resolve OpenClaw home directory. */
49
+ export declare function getOpenclawHome(): string;
50
+ /**
51
+ * Write a key=value to an .env file. Overwrites if key exists, appends if not.
52
+ * Values are double-quoted to handle spaces, #, and = in passwords.
53
+ * Uses atomic write (tmp + rename) with chmod 600.
54
+ * Default target: ~/.openclaw/.env (or OPENCLAW_HOME/.env).
55
+ */
56
+ export declare function appendToEnvFile(key: string, value: string, envPath?: string): string;
57
+ /**
58
+ * Read a single value from the OpenClaw .env file.
59
+ * Returns null if file doesn't exist or key not found.
60
+ * Handles double-quoted values from appendToEnvFile().
61
+ */
62
+ export declare function readEnvFileValue(key: string): string | null;
43
63
  /**
44
64
  * Read OPENCLAW_HOOKS_* entries from the skill env in openclaw.json.
45
65
  * Returns a plain object suitable for merging into a child process env.
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/openclaw/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAgB/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,WAAW,CAkFb;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1C,WAAW,CAuGb;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe5E"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/openclaw/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;IACzC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAQ9C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAgB/D;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC3B,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,WAAW,CAkFb;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,OAAO,EACd,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC1C,WAAW,CAuGb;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAoChE;AAID,uCAAuC;AACvC,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBpF;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAa3D;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,SAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAe5E"}
@@ -104,7 +104,7 @@ export function patchOpenclawSkillEnv(skillKey, env, opts) {
104
104
  mkdirSync(dir, { recursive: true });
105
105
  const tmpFile = join(dir, `.openclaw.tmp.${Date.now()}.json`);
106
106
  try {
107
- writeFileSync(tmpFile, JSON.stringify(data, null, 2), "utf-8");
107
+ writeFileSync(tmpFile, JSON.stringify(data, null, 2), { encoding: "utf-8", mode: 0o600 });
108
108
  renameSync(tmpFile, configPath);
109
109
  }
110
110
  catch (err) {
@@ -212,7 +212,7 @@ export function patchOpenclawConfig(dotPath, value, opts) {
212
212
  mkdirSync(dir, { recursive: true });
213
213
  const tmpFile = join(dir, `.openclaw.tmp.${Date.now()}.json`);
214
214
  try {
215
- writeFileSync(tmpFile, JSON.stringify(data, null, 2), "utf-8");
215
+ writeFileSync(tmpFile, JSON.stringify(data, null, 2), { encoding: "utf-8", mode: 0o600 });
216
216
  renameSync(tmpFile, configPath);
217
217
  }
218
218
  catch (err) {
@@ -228,7 +228,104 @@ export function patchOpenclawConfig(dotPath, value, opts) {
228
228
  }
229
229
  return { status, path: configPath, keysSet, keysSkipped };
230
230
  }
231
- // ── Env var extraction ──────────────────────────────────────────────
231
+ /**
232
+ * Remove a key at a dot-separated path from openclaw.json.
233
+ * Idempotent: returns false if file or key does not exist.
234
+ */
235
+ export function removeOpenclawConfigKey(dotPath) {
236
+ const configPath = getOpenclawConfigPath();
237
+ if (!existsSync(configPath))
238
+ return false;
239
+ const data = loadOpenclawConfig();
240
+ if (!data)
241
+ return false;
242
+ const segments = dotPath.split(".");
243
+ const lastKey = segments[segments.length - 1];
244
+ let cursor = data;
245
+ for (let i = 0; i < segments.length - 1; i++) {
246
+ const seg = segments[i];
247
+ if (!cursor[seg] || typeof cursor[seg] !== "object")
248
+ return false;
249
+ cursor = cursor[seg];
250
+ }
251
+ if (!(lastKey in cursor))
252
+ return false;
253
+ delete cursor[lastKey];
254
+ const dir = dirname(configPath);
255
+ const tmpFile = join(dir, `.openclaw.tmp.${Date.now()}.json`);
256
+ try {
257
+ writeFileSync(tmpFile, JSON.stringify(data, null, 2), { encoding: "utf-8", mode: 0o600 });
258
+ renameSync(tmpFile, configPath);
259
+ }
260
+ catch (err) {
261
+ try {
262
+ if (existsSync(tmpFile))
263
+ unlinkSync(tmpFile);
264
+ }
265
+ catch { /* ignore */ }
266
+ throw new EchoError(ErrorCodes.OPENCLAW_CONFIG_WRITE_FAILED, `Failed to write ${configPath}: ${err instanceof Error ? err.message : String(err)}`, "Check file permissions on the .openclaw directory.");
267
+ }
268
+ logger.debug(`OpenClaw config: removed key "${dotPath}"`);
269
+ return true;
270
+ }
271
+ // ── .env file helpers ────────────────────────────────────────────────
272
+ /** Resolve OpenClaw home directory. */
273
+ export function getOpenclawHome() {
274
+ return process.env.OPENCLAW_HOME ?? join(homedir(), ".openclaw");
275
+ }
276
+ /**
277
+ * Write a key=value to an .env file. Overwrites if key exists, appends if not.
278
+ * Values are double-quoted to handle spaces, #, and = in passwords.
279
+ * Uses atomic write (tmp + rename) with chmod 600.
280
+ * Default target: ~/.openclaw/.env (or OPENCLAW_HOME/.env).
281
+ */
282
+ export function appendToEnvFile(key, value, envPath) {
283
+ const target = envPath ?? join(getOpenclawHome(), ".env");
284
+ const dir = dirname(target);
285
+ if (!existsSync(dir))
286
+ mkdirSync(dir, { recursive: true });
287
+ let content = "";
288
+ if (existsSync(target)) {
289
+ content = readFileSync(target, "utf-8");
290
+ }
291
+ const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
292
+ const quotedValue = `"${value.replace(/\\/g, "\\\\").replace(/"/g, '\\"')}"`;
293
+ const line = `${key}=${quotedValue}`;
294
+ const regex = new RegExp(`^${escapedKey}=.*$`, "m");
295
+ if (regex.test(content)) {
296
+ content = content.replace(regex, line);
297
+ }
298
+ else {
299
+ content = content.trimEnd() + `\n${line}\n`;
300
+ }
301
+ const tmpFile = join(dir, `.env.tmp.${Date.now()}`);
302
+ writeFileSync(tmpFile, content, { mode: 0o600 });
303
+ renameSync(tmpFile, target);
304
+ return target;
305
+ }
306
+ // ── .env file reading ────────────────────────────────────────────────
307
+ /**
308
+ * Read a single value from the OpenClaw .env file.
309
+ * Returns null if file doesn't exist or key not found.
310
+ * Handles double-quoted values from appendToEnvFile().
311
+ */
312
+ export function readEnvFileValue(key) {
313
+ const envPath = join(getOpenclawHome(), ".env");
314
+ if (!existsSync(envPath))
315
+ return null;
316
+ const content = readFileSync(envPath, "utf-8");
317
+ const escapedKey = key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
318
+ const match = content.match(new RegExp(`^${escapedKey}=(.*)$`, "m"));
319
+ if (!match)
320
+ return null;
321
+ let value = match[1].trim();
322
+ // Unquote if double-quoted
323
+ if (value.startsWith('"') && value.endsWith('"')) {
324
+ value = value.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, '\\');
325
+ }
326
+ return value || null;
327
+ }
328
+ // ── Env var extraction ────────────────────────────────────────────── ──────────────────────────────────────────────
232
329
  /**
233
330
  * Read OPENCLAW_HOOKS_* entries from the skill env in openclaw.json.
234
331
  * Returns a plain object suitable for merging into a child process env.
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/openclaw/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/openclaw/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,MAAM,MAAM,oBAAoB,CAAC;AASxC;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB;IACnC,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,CAAC;QACrC,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;AACvD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAwB,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,SAAS,CACjB,UAAU,CAAC,4BAA4B,EACvC,mBAAmB,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACpF,kDAAkD,CACnD,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,GAA2B,EAC3B,IAA0B;IAE1B,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC;IAEnC,sBAAsB;IACtB,IAAI,IAAyB,CAAC;IAC9B,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxF,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAChG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAA6B,CAAC;IAC9E,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/C,IAAI,GAAG,IAAI,SAAS,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,kCAAkC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,QAAQ,GAAG,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,2CAA2C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IAChH,CAAC;IAED,gCAAgC;IAChC,IAAI,MAA6B,CAAC;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IAED,kCAAkC;IAClC,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,UAAU,CAAC,4BAA4B,EACvC,mBAAmB,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACpF,oDAAoD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,KAAc,EACd,IAA2C;IAE3C,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,MAAM,WAAW,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,KAAK,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC;IAElC,IAAI,IAAyB,CAAC;IAC9B,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,GAAG,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,IAAI,GAAG,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC/C,IAAI,MAAM,GAAwB,IAAI,CAAC;IAEvC,mDAAmD;IACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,GAAG,CAAwB,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,OAAO,IAAI,MAAM,CAAC;IAErC,IAAI,UAAU,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;QACnC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;SAAM,IACL,UAAU;QACV,CAAC,KAAK;QACN,KAAK;QACL,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;QACxB,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EACrB,CAAC;QACD,wDAAwD;QACxD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAClB,WAAW,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC,GAAG,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;YAClC,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,IAAI,KAAK,EAAE,CAAC;QAC/B,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,CAAC,UAAU,EAAE,CAAC;QACvB,MAAM,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACN,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CAAC,CAAC;IAC/E,CAAC;IACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,6BAA6B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,8BAA8B,CAAC,CAAC;IAClH,CAAC;IAED,IAAI,MAA6B,CAAC;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,GAAG,SAAS,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,QAAQ,CAAC;IACpB,CAAC;IAED,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAChC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAC9D,IAAI,CAAC;YACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC1F,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,UAAU,CAAC,OAAO,CAAC;oBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,MAAM,IAAI,SAAS,CACjB,UAAU,CAAC,4BAA4B,EACvC,mBAAmB,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACpF,oDAAoD,CACrD,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AAC5D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;IAC3C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC;QAAE,OAAO,KAAK,CAAC;IAE1C,MAAM,IAAI,GAAG,kBAAkB,EAAE,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IAExB,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;IAC/C,IAAI,MAAM,GAAwB,IAAI,CAAC;IAEvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAE,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAClE,MAAM,GAAG,MAAM,CAAC,GAAG,CAAwB,CAAC;IAC9C,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC;IAEvB,MAAM,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9D,IAAI,CAAC;QACH,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1F,UAAU,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,CAAC;YAAC,IAAI,UAAU,CAAC,OAAO,CAAC;gBAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAC5E,MAAM,IAAI,SAAS,CACjB,UAAU,CAAC,4BAA4B,EACvC,mBAAmB,UAAU,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EACpF,oDAAoD,CACrD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,iCAAiC,OAAO,GAAG,CAAC,CAAC;IAC1D,OAAO,IAAI,CAAC;AACd,CAAC;AAED,wEAAwE;AAExE,uCAAuC;AACvC,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,CAAC,CAAC;AACnE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW,EAAE,KAAa,EAAE,OAAgB;IAC1E,MAAM,MAAM,GAAG,OAAO,IAAI,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE1D,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,WAAW,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;IAC7E,MAAM,IAAI,GAAG,GAAG,GAAG,IAAI,WAAW,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,UAAU,MAAM,EAAE,GAAG,CAAC,CAAC;IAEpD,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,YAAY,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACpD,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACjD,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wEAAwE;AAExE;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,MAAM,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,OAAO,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IAC9D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,IAAI,UAAU,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IAC7B,2BAA2B;IAC3B,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IACD,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC;AAED,sHAAsH;AAEtH;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAQ,GAAG,QAAQ;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAE,GAAG,IAAI,EAAE,CAA4B,CAAC;QAC5F,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpD,IAAI,GAAG,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACnE,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@echoclaw/echo-0g",
3
- "version": "1.2.7",
3
+ "version": "1.2.8",
4
4
  "description": "EchoClaw CLI for 0G Network",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -18,17 +18,20 @@ npm i -g @echoclaw/echo-0g
18
18
  ```
19
19
  Requires **Node.js >= 20**.
20
20
 
21
- ### 2. Configure password in OpenClaw
21
+ ### 2. Configure password
22
22
  ```bash
23
- # Save password to openclaw.json (reads from env var)
23
+ # Save password to .env (default chmod 600, recommended)
24
24
  export ECHO_KEYSTORE_PASSWORD="your-secure-password"
25
25
  echo0g setup password --from-env --json
26
26
 
27
27
  # Or with auto-update enabled:
28
28
  echo0g setup password --from-env --auto-update --json
29
+
30
+ # Legacy: save to openclaw.json (less secure)
31
+ echo0g setup password --from-env --to-config --json
29
32
  ```
30
33
 
31
- This writes `ECHO_KEYSTORE_PASSWORD` (and optionally `ECHO_AUTO_UPDATE`) into `~/.openclaw/openclaw.json` at `skills.entries.echo0g.env`. Use `--force` to overwrite an existing password.
34
+ This writes `ECHO_KEYSTORE_PASSWORD` to `~/.openclaw/.env` (chmod 600). Use `--to-config` for legacy openclaw.json storage. Use `--force` to overwrite an existing password.
32
35
 
33
36
  > `ECHO_KEYSTORE_PASSWORD` is required for **all** signing operations: wallet create, send, slop trades, jaine swaps/LP, slop-app profile/chat, and echobook auth.
34
37
 
@@ -53,10 +56,11 @@ Creates a symlink at `~/.openclaw/skills/echo0g/` pointing to the packaged skill
53
56
 
54
57
  ### Setup
55
58
  - `echo0g setup openclaw [--force] --json` — Link EchoClaw skill into OpenClaw skills directory
56
- - `echo0g setup password --from-env [--force] [--auto-update] --json` — Save password to openclaw.json from env var
57
- - `echo0g setup password --password <pw> [--force] [--auto-update] --json` — Save password from argument
59
+ - `echo0g setup password --from-env [--force] [--auto-update] [--to-config] --json` — Save password to .env (default) or openclaw.json (--to-config)
60
+ - `echo0g setup password --password <pw> [--force] [--auto-update] [--to-config] --json` — Save password from argument
58
61
  - `echo0g setup openclaw-hooks --from-env [--force] --json` — Save OpenClaw webhook variables from OPENCLAW_HOOKS_* env vars
59
- - `echo0g setup openclaw-hooks --base-url <url> --token <secret> [--agent-id <id>] [--channel <ch>] [--to <recipient>] [--include-guardrail] [--force] --json` — Configure webhook vars from flags
62
+ - `echo0g setup openclaw-hooks --base-url <url> --token <secret> [--agent-id <id>] [--channel <ch>] [--to <recipient>] [--include-guardrail] [--session-key <key>] [--force] --json` — Configure webhook vars from flags
63
+ - `echo0g setup test-hooks [--probe-live] --json` — Validate webhook config (token sync, gateway token, session key, routing)
60
64
 
61
65
  ### Wallet
62
66
  - `echo0g wallet create [--force] --json` — Generate new wallet, save encrypted keystore