@echoclaw/echo-0g 1.2.0 → 1.2.3

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.
Files changed (116) hide show
  1. package/README.md +33 -1162
  2. package/dist/0g-compute/constants.d.ts +1 -0
  3. package/dist/0g-compute/constants.d.ts.map +1 -1
  4. package/dist/0g-compute/constants.js +1 -0
  5. package/dist/0g-compute/constants.js.map +1 -1
  6. package/dist/0g-compute/helpers.d.ts +18 -0
  7. package/dist/0g-compute/helpers.d.ts.map +1 -0
  8. package/dist/0g-compute/helpers.js +53 -0
  9. package/dist/0g-compute/helpers.js.map +1 -0
  10. package/dist/0g-compute/monitor.d.ts.map +1 -1
  11. package/dist/0g-compute/monitor.js +1 -0
  12. package/dist/0g-compute/monitor.js.map +1 -1
  13. package/dist/0g-compute/operations.d.ts +51 -0
  14. package/dist/0g-compute/operations.d.ts.map +1 -0
  15. package/dist/0g-compute/operations.js +118 -0
  16. package/dist/0g-compute/operations.js.map +1 -0
  17. package/dist/0g-compute/readiness.d.ts +50 -0
  18. package/dist/0g-compute/readiness.d.ts.map +1 -0
  19. package/dist/0g-compute/readiness.js +251 -0
  20. package/dist/0g-compute/readiness.js.map +1 -0
  21. package/dist/bot/daemon.d.ts +0 -1
  22. package/dist/bot/daemon.d.ts.map +1 -1
  23. package/dist/bot/daemon.js +1 -39
  24. package/dist/bot/daemon.js.map +1 -1
  25. package/dist/bot/state.d.ts +0 -2
  26. package/dist/bot/state.d.ts.map +1 -1
  27. package/dist/bot/state.js +0 -12
  28. package/dist/bot/state.js.map +1 -1
  29. package/dist/bot/types.d.ts +0 -4
  30. package/dist/bot/types.d.ts.map +1 -1
  31. package/dist/bot/types.js +0 -4
  32. package/dist/bot/types.js.map +1 -1
  33. package/dist/cli.d.ts.map +1 -1
  34. package/dist/cli.js +2 -0
  35. package/dist/cli.js.map +1 -1
  36. package/dist/commands/0g-compute-wizard.d.ts +12 -0
  37. package/dist/commands/0g-compute-wizard.d.ts.map +1 -0
  38. package/dist/commands/0g-compute-wizard.js +420 -0
  39. package/dist/commands/0g-compute-wizard.js.map +1 -0
  40. package/dist/commands/0g-compute.d.ts.map +1 -1
  41. package/dist/commands/0g-compute.js +18 -95
  42. package/dist/commands/0g-compute.js.map +1 -1
  43. package/dist/commands/marketmaker.d.ts.map +1 -1
  44. package/dist/commands/marketmaker.js +0 -5
  45. package/dist/commands/marketmaker.js.map +1 -1
  46. package/dist/commands/onboard/index.d.ts +3 -0
  47. package/dist/commands/onboard/index.d.ts.map +1 -0
  48. package/dist/commands/onboard/index.js +185 -0
  49. package/dist/commands/onboard/index.js.map +1 -0
  50. package/dist/commands/onboard/steps/compute.d.ts +3 -0
  51. package/dist/commands/onboard/steps/compute.d.ts.map +1 -0
  52. package/dist/commands/onboard/steps/compute.js +346 -0
  53. package/dist/commands/onboard/steps/compute.js.map +1 -0
  54. package/dist/commands/onboard/steps/config.d.ts +3 -0
  55. package/dist/commands/onboard/steps/config.d.ts.map +1 -0
  56. package/dist/commands/onboard/steps/config.js +30 -0
  57. package/dist/commands/onboard/steps/config.js.map +1 -0
  58. package/dist/commands/onboard/steps/monitor.d.ts +3 -0
  59. package/dist/commands/onboard/steps/monitor.d.ts.map +1 -0
  60. package/dist/commands/onboard/steps/monitor.js +157 -0
  61. package/dist/commands/onboard/steps/monitor.js.map +1 -0
  62. package/dist/commands/onboard/steps/openclaw.d.ts +3 -0
  63. package/dist/commands/onboard/steps/openclaw.d.ts.map +1 -0
  64. package/dist/commands/onboard/steps/openclaw.js +35 -0
  65. package/dist/commands/onboard/steps/openclaw.js.map +1 -0
  66. package/dist/commands/onboard/steps/password.d.ts +3 -0
  67. package/dist/commands/onboard/steps/password.d.ts.map +1 -0
  68. package/dist/commands/onboard/steps/password.js +71 -0
  69. package/dist/commands/onboard/steps/password.js.map +1 -0
  70. package/dist/commands/onboard/steps/wallet.d.ts +3 -0
  71. package/dist/commands/onboard/steps/wallet.d.ts.map +1 -0
  72. package/dist/commands/onboard/steps/wallet.js +113 -0
  73. package/dist/commands/onboard/steps/wallet.js.map +1 -0
  74. package/dist/commands/onboard/steps/webhooks.d.ts +3 -0
  75. package/dist/commands/onboard/steps/webhooks.d.ts.map +1 -0
  76. package/dist/commands/onboard/steps/webhooks.js +100 -0
  77. package/dist/commands/onboard/steps/webhooks.js.map +1 -0
  78. package/dist/commands/onboard/types.d.ts +27 -0
  79. package/dist/commands/onboard/types.d.ts.map +1 -0
  80. package/dist/commands/onboard/types.js +2 -0
  81. package/dist/commands/onboard/types.js.map +1 -0
  82. package/dist/commands/setup.d.ts.map +1 -1
  83. package/dist/commands/setup.js +12 -97
  84. package/dist/commands/setup.js.map +1 -1
  85. package/dist/commands/wallet.d.ts.map +1 -1
  86. package/dist/commands/wallet.js +20 -53
  87. package/dist/commands/wallet.js.map +1 -1
  88. package/dist/echobook/notifications.d.ts +1 -0
  89. package/dist/echobook/notifications.d.ts.map +1 -1
  90. package/dist/echobook/notifications.js.map +1 -1
  91. package/dist/errors.d.ts +6 -0
  92. package/dist/errors.d.ts.map +1 -1
  93. package/dist/errors.js +8 -0
  94. package/dist/errors.js.map +1 -1
  95. package/dist/guardrails/wallet-mutation.d.ts +11 -0
  96. package/dist/guardrails/wallet-mutation.d.ts.map +1 -0
  97. package/dist/guardrails/wallet-mutation.js +21 -0
  98. package/dist/guardrails/wallet-mutation.js.map +1 -0
  99. package/dist/setup/openclaw-link.d.ts +19 -0
  100. package/dist/setup/openclaw-link.d.ts.map +1 -0
  101. package/dist/setup/openclaw-link.js +111 -0
  102. package/dist/setup/openclaw-link.js.map +1 -0
  103. package/dist/utils/ui.d.ts +1 -0
  104. package/dist/utils/ui.d.ts.map +1 -1
  105. package/dist/utils/ui.js +1 -0
  106. package/dist/utils/ui.js.map +1 -1
  107. package/dist/wallet/create.d.ts +15 -0
  108. package/dist/wallet/create.d.ts.map +1 -0
  109. package/dist/wallet/create.js +30 -0
  110. package/dist/wallet/create.js.map +1 -0
  111. package/dist/wallet/import.d.ts +15 -0
  112. package/dist/wallet/import.d.ts.map +1 -0
  113. package/dist/wallet/import.js +31 -0
  114. package/dist/wallet/import.js.map +1 -0
  115. package/package.json +1 -1
  116. package/skills/echo0g/SKILL.md +67 -6
@@ -0,0 +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"}
@@ -0,0 +1,71 @@
1
+ import inquirer from "inquirer";
2
+ import { getKeystorePassword } from "../../../utils/env.js";
3
+ import { loadOpenclawConfig, patchOpenclawSkillEnv } from "../../../openclaw/config.js";
4
+ import { writeStderr } from "../../../utils/output.js";
5
+ import { colors } from "../../../utils/ui.js";
6
+ const SKILL_KEY = "echo0g";
7
+ const MIN_PASSWORD_LENGTH = 8;
8
+ function detect(state) {
9
+ // 1. Check process.env (set by shell or previous step)
10
+ const pw = getKeystorePassword();
11
+ if (pw) {
12
+ state.passwordSet = true;
13
+ return { configured: true, summary: "ECHO_KEYSTORE_PASSWORD is set" };
14
+ }
15
+ // 2. Fallback: check if password is stored in openclaw.json
16
+ const config = loadOpenclawConfig();
17
+ const storedPw = config?.skills?.entries?.[SKILL_KEY]?.env?.ECHO_KEYSTORE_PASSWORD;
18
+ if (typeof storedPw === "string" && storedPw.length > 0) {
19
+ // Load into process.env so wallet/compute steps can use it
20
+ process.env.ECHO_KEYSTORE_PASSWORD = storedPw;
21
+ state.passwordSet = true;
22
+ return { configured: true, summary: "Password found in OpenClaw config" };
23
+ }
24
+ return { configured: false, summary: "Keystore password not configured" };
25
+ }
26
+ async function run(state) {
27
+ const { password } = await inquirer.prompt([{
28
+ type: "password",
29
+ name: "password",
30
+ message: "Choose a keystore password (min 8 chars):",
31
+ mask: "*",
32
+ validate: (input) => input.length >= MIN_PASSWORD_LENGTH || `Password must be at least ${MIN_PASSWORD_LENGTH} characters`,
33
+ }]);
34
+ const { confirm } = await inquirer.prompt([{
35
+ type: "password",
36
+ name: "confirm",
37
+ message: "Confirm password:",
38
+ mask: "*",
39
+ validate: (input) => input === password || "Passwords do not match",
40
+ }]);
41
+ // Save to OpenClaw skill env
42
+ const envMap = {
43
+ ECHO_KEYSTORE_PASSWORD: password,
44
+ };
45
+ // Ask about auto-update
46
+ const { autoUpdate } = await inquirer.prompt([{
47
+ type: "confirm",
48
+ name: "autoUpdate",
49
+ message: "Enable auto-update checks?",
50
+ default: true,
51
+ }]);
52
+ if (autoUpdate) {
53
+ envMap.ECHO_AUTO_UPDATE = "1";
54
+ }
55
+ const patchResult = patchOpenclawSkillEnv(SKILL_KEY, envMap, { force: true });
56
+ writeStderr(colors.muted(` OpenClaw config: ${patchResult.path} (${patchResult.status})`));
57
+ // Set in current process so wallet step can use it
58
+ process.env.ECHO_KEYSTORE_PASSWORD = password;
59
+ state.passwordSet = true;
60
+ return {
61
+ action: "configured",
62
+ message: "Keystore password saved to OpenClaw skill env",
63
+ };
64
+ }
65
+ export const passwordStep = {
66
+ name: "Keystore Password",
67
+ description: "Sets a master password that encrypts your private key on disk. Without it, nobody can sign transactions — even if they access your server.",
68
+ detect,
69
+ run,
70
+ };
71
+ //# sourceMappingURL=password.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"password.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/password.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OnboardStep } from "../types.js";
2
+ export declare const walletStep: OnboardStep;
3
+ //# sourceMappingURL=wallet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/wallet.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAgB,WAAW,EAA0B,MAAM,aAAa,CAAC;AAiHrF,eAAO,MAAM,UAAU,EAAE,WAKxB,CAAC"}
@@ -0,0 +1,113 @@
1
+ import inquirer from "inquirer";
2
+ import { keystoreExists, normalizePrivateKey } from "../../../wallet/keystore.js";
3
+ import { createWallet } from "../../../wallet/create.js";
4
+ import { importWallet } from "../../../wallet/import.js";
5
+ import { loadConfig } from "../../../config/store.js";
6
+ import { getKeystorePassword } from "../../../utils/env.js";
7
+ import { spinner, colors } from "../../../utils/ui.js";
8
+ import { writeStderr } from "../../../utils/output.js";
9
+ import { EchoError } from "../../../errors.js";
10
+ function detect(state) {
11
+ const hasKeystore = keystoreExists();
12
+ state.hasKeystore = hasKeystore;
13
+ const cfg = loadConfig();
14
+ const address = cfg.wallet.address;
15
+ if (hasKeystore && address) {
16
+ state.walletAddress = address;
17
+ return { configured: true, summary: `Wallet: ${address}` };
18
+ }
19
+ if (hasKeystore) {
20
+ return { configured: false, summary: "Keystore exists but no address in config" };
21
+ }
22
+ return { configured: false, summary: "No wallet configured" };
23
+ }
24
+ async function run(state) {
25
+ // Verify password is available
26
+ const pw = getKeystorePassword();
27
+ if (!pw) {
28
+ return {
29
+ action: "failed",
30
+ message: "Keystore password not set. Complete the Password step first.",
31
+ };
32
+ }
33
+ const { walletAction } = await inquirer.prompt([{
34
+ type: "list",
35
+ name: "walletAction",
36
+ message: "Wallet setup:",
37
+ choices: [
38
+ { name: "Generate new wallet", value: "create" },
39
+ { name: "Import existing private key", value: "import" },
40
+ { name: "Skip", value: "skip" },
41
+ ],
42
+ }]);
43
+ if (walletAction === "skip") {
44
+ return { action: "skipped", message: "Wallet setup skipped" };
45
+ }
46
+ if (walletAction === "create") {
47
+ const spin = spinner("Generating wallet and encrypting keystore...");
48
+ spin.start();
49
+ try {
50
+ const result = await createWallet({ force: state.hasKeystore });
51
+ spin.succeed("Wallet created");
52
+ state.walletAddress = result.address;
53
+ state.hasKeystore = true;
54
+ writeStderr(` ${colors.address(result.address)}`);
55
+ if (result.overwritten) {
56
+ writeStderr(colors.muted(" Previous keystore backed up automatically"));
57
+ }
58
+ return {
59
+ action: "configured",
60
+ message: `Wallet created: ${result.address}`,
61
+ };
62
+ }
63
+ catch (err) {
64
+ spin.fail("Wallet creation failed");
65
+ const msg = err instanceof EchoError ? err.message : (err instanceof Error ? err.message : String(err));
66
+ return { action: "failed", message: msg };
67
+ }
68
+ }
69
+ // Import flow
70
+ const { privateKey } = await inquirer.prompt([{
71
+ type: "password",
72
+ name: "privateKey",
73
+ message: "Enter private key (hex, 0x-prefix optional):",
74
+ mask: "*",
75
+ validate: (input) => {
76
+ try {
77
+ normalizePrivateKey(input);
78
+ return true;
79
+ }
80
+ catch {
81
+ return "Invalid private key: must be 32 bytes hex (64 chars), optionally 0x-prefixed";
82
+ }
83
+ },
84
+ }]);
85
+ const spin = spinner("Encrypting and saving keystore...");
86
+ spin.start();
87
+ try {
88
+ const result = await importWallet(privateKey, { force: state.hasKeystore });
89
+ spin.succeed("Wallet imported");
90
+ state.walletAddress = result.address;
91
+ state.hasKeystore = true;
92
+ writeStderr(` ${colors.address(result.address)}`);
93
+ if (result.overwritten) {
94
+ writeStderr(colors.muted(" Previous keystore backed up automatically"));
95
+ }
96
+ return {
97
+ action: "configured",
98
+ message: `Wallet imported: ${result.address}`,
99
+ };
100
+ }
101
+ catch (err) {
102
+ spin.fail("Wallet import failed");
103
+ const msg = err instanceof EchoError ? err.message : (err instanceof Error ? err.message : String(err));
104
+ return { action: "failed", message: msg };
105
+ }
106
+ }
107
+ export const walletStep = {
108
+ name: "Wallet",
109
+ description: "Creates or imports your 0G blockchain wallet. This is your on-chain identity — it holds your tokens and signs every transaction.",
110
+ detect,
111
+ run,
112
+ };
113
+ //# sourceMappingURL=wallet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/wallet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { OnboardStep } from "../types.js";
2
+ export declare const webhooksStep: OnboardStep;
3
+ //# sourceMappingURL=webhooks.d.ts.map
@@ -0,0 +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;AAwGrF,eAAO,MAAM,YAAY,EAAE,WAK1B,CAAC"}
@@ -0,0 +1,100 @@
1
+ import { randomBytes } from "node:crypto";
2
+ import inquirer from "inquirer";
3
+ import { loadOpenclawConfig, patchOpenclawConfig, patchOpenclawSkillEnv } from "../../../openclaw/config.js";
4
+ import { writeStderr } from "../../../utils/output.js";
5
+ import { colors } from "../../../utils/ui.js";
6
+ const SKILL_KEY = "echo0g";
7
+ const DEFAULT_BASE_URL = "http://127.0.0.1:18789";
8
+ function detect(state) {
9
+ const config = loadOpenclawConfig();
10
+ if (!config) {
11
+ return { configured: false, summary: "OpenClaw config not found" };
12
+ }
13
+ const hooksEnabled = config.hooks?.enabled === true;
14
+ const hooksToken = !!config.hooks?.token;
15
+ const skillEnv = config.skills?.entries?.[SKILL_KEY]?.env ?? {};
16
+ const hasBaseUrl = !!skillEnv.OPENCLAW_HOOKS_BASE_URL;
17
+ const hasToken = !!skillEnv.OPENCLAW_HOOKS_TOKEN;
18
+ if (hooksEnabled && hooksToken && hasBaseUrl && hasToken) {
19
+ state.webhooksConfigured = true;
20
+ return { configured: true, summary: "Webhooks enabled (gateway + skill env)" };
21
+ }
22
+ if (hooksEnabled || hasBaseUrl) {
23
+ return { configured: false, summary: "Webhooks partially configured" };
24
+ }
25
+ return { configured: false, summary: "Webhooks not configured (optional)" };
26
+ }
27
+ async function run(state) {
28
+ const { baseUrl } = await inquirer.prompt([{
29
+ type: "input",
30
+ name: "baseUrl",
31
+ message: "OpenClaw gateway base URL:",
32
+ default: DEFAULT_BASE_URL,
33
+ }]);
34
+ // Generate or input shared secret
35
+ const { tokenChoice } = await inquirer.prompt([{
36
+ type: "list",
37
+ name: "tokenChoice",
38
+ message: "Shared webhook token:",
39
+ choices: [
40
+ { name: "Generate random token (recommended)", value: "generate" },
41
+ { name: "Enter custom token", value: "custom" },
42
+ ],
43
+ }]);
44
+ let sharedToken;
45
+ if (tokenChoice === "generate") {
46
+ sharedToken = randomBytes(32).toString("hex");
47
+ writeStderr(colors.muted(` Generated token: ${sharedToken.slice(0, 8)}...`));
48
+ }
49
+ else {
50
+ const { customToken } = await inquirer.prompt([{
51
+ type: "password",
52
+ name: "customToken",
53
+ message: "Enter shared token:",
54
+ mask: "*",
55
+ validate: (input) => input.length >= 16 || "Token must be at least 16 characters",
56
+ }]);
57
+ sharedToken = customToken;
58
+ }
59
+ // Optional: agent ID and channel
60
+ const { agentId } = await inquirer.prompt([{
61
+ type: "input",
62
+ name: "agentId",
63
+ message: "Agent ID (optional, press Enter to skip):",
64
+ default: "",
65
+ }]);
66
+ const { channel } = await inquirer.prompt([{
67
+ type: "input",
68
+ name: "channel",
69
+ message: "Channel (optional, press Enter to skip):",
70
+ default: "",
71
+ }]);
72
+ // 1. Patch gateway config: per-key to preserve existing hooks.* keys
73
+ patchOpenclawConfig("hooks.enabled", true, { force: true });
74
+ patchOpenclawConfig("hooks.token", sharedToken, { force: true });
75
+ // 2. Patch skill env
76
+ const skillEnv = {
77
+ OPENCLAW_HOOKS_BASE_URL: baseUrl,
78
+ OPENCLAW_HOOKS_TOKEN: sharedToken,
79
+ OPENCLAW_HOOKS_INCLUDE_GUARDRAIL: "1",
80
+ };
81
+ if (agentId)
82
+ skillEnv.OPENCLAW_HOOKS_AGENT_ID = agentId;
83
+ if (channel)
84
+ skillEnv.OPENCLAW_HOOKS_CHANNEL = channel;
85
+ const patchResult = patchOpenclawSkillEnv(SKILL_KEY, skillEnv, { force: true });
86
+ writeStderr(colors.muted(` Gateway: hooks.enabled=true, hooks.token set`));
87
+ writeStderr(colors.muted(` Skill env: ${patchResult.keysSet.join(", ")}`));
88
+ state.webhooksConfigured = true;
89
+ return {
90
+ action: "configured",
91
+ message: "Webhooks configured (gateway + skill env)",
92
+ };
93
+ }
94
+ export const webhooksStep = {
95
+ name: "Notifications",
96
+ description: "Enables real-time alerts in your chat — order fills from MarketMaker, low balance warnings from the monitor. Without this, your agent works silently (no notifications).",
97
+ detect,
98
+ run,
99
+ };
100
+ //# sourceMappingURL=webhooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../../../src/commands/onboard/steps/webhooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface StepStatus {
2
+ configured: boolean;
3
+ summary: string;
4
+ warning?: string;
5
+ }
6
+ export interface StepResult {
7
+ action: "configured" | "configured_with_warning" | "skipped" | "already_configured" | "failed";
8
+ message: string;
9
+ }
10
+ export interface OnboardState {
11
+ configInitialized: boolean;
12
+ openclawLinked: boolean;
13
+ passwordSet: boolean;
14
+ webhooksConfigured: boolean;
15
+ walletAddress: string | null;
16
+ hasKeystore: boolean;
17
+ computeReady: boolean;
18
+ selectedProvider: string | null;
19
+ monitorRunning: boolean;
20
+ }
21
+ export interface OnboardStep {
22
+ name: string;
23
+ description: string;
24
+ detect: (state: OnboardState) => StepStatus | Promise<StepStatus>;
25
+ run: (state: OnboardState) => Promise<StepResult>;
26
+ }
27
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/onboard/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,YAAY,GAAG,yBAAyB,GAAG,SAAS,GAAG,oBAAoB,GAAG,QAAQ,CAAC;IAC/F,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,YAAY;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAClE,GAAG,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;CACnD"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/onboard/types.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,wBAAgB,kBAAkB,IAAI,OAAO,CAwT5C"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/commands/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,wBAAgB,kBAAkB,IAAI,OAAO,CA0P5C"}
@@ -1,7 +1,3 @@
1
- import { existsSync, lstatSync, mkdirSync, symlinkSync, unlinkSync, rmSync, cpSync } from "node:fs";
2
- import { dirname, join, resolve } from "node:path";
3
- import { fileURLToPath } from "node:url";
4
- import { homedir, platform } from "node:os";
5
1
  import { Command } from "commander";
6
2
  import inquirer from "inquirer";
7
3
  import { EchoError, ErrorCodes } from "../errors.js";
@@ -10,7 +6,7 @@ import { patchOpenclawSkillEnv } from "../openclaw/config.js";
10
6
  import { getKeystorePassword } from "../utils/env.js";
11
7
  import { isHeadless, writeJsonSuccess } from "../utils/output.js";
12
8
  import { successBox, warnBox, infoBox, colors } from "../utils/ui.js";
13
- const __dirname = dirname(fileURLToPath(import.meta.url));
9
+ import { linkOpenclawSkill } from "../setup/openclaw-link.js";
14
10
  export function createSetupCommand() {
15
11
  const setup = new Command("setup").description("Setup and integration commands");
16
12
  setup
@@ -18,63 +14,20 @@ export function createSetupCommand() {
18
14
  .description("Link EchoClaw skill into OpenClaw skills directory")
19
15
  .option("--force", "Overwrite existing skill directory")
20
16
  .action((opts) => {
21
- const SKILL_NAME = "echo0g";
22
- // 1. Resolve source — from dist/commands/setup.js → ../../skills/<SKILL_NAME>
23
- const source = resolve(__dirname, "..", "..", "skills", SKILL_NAME);
24
- if (!existsSync(source)) {
25
- throw new EchoError(ErrorCodes.SETUP_SOURCE_NOT_FOUND, `Skill source not found at ${source}`, "Reinstall: npm i -g @echoclaw/echo-0g");
26
- }
27
- // 2. Resolve target — ~/.openclaw/skills/echo0g
28
- const openclawSkillsDir = join(homedir(), ".openclaw", "skills");
29
- const target = join(openclawSkillsDir, SKILL_NAME);
30
- // Ensure parent dir exists
31
- mkdirSync(openclawSkillsDir, { recursive: true });
32
- // 3. Handle existing target
33
- if (existsSync(target) || lstatSafe(target)) {
34
- if (!opts.force) {
35
- throw new EchoError(ErrorCodes.SETUP_TARGET_EXISTS, `Target already exists: ${target}`, "Use --force to overwrite");
36
- }
37
- // Remove existing — distinguish symlink vs directory
38
- const stat = lstatSafe(target);
39
- if (stat && stat.isSymbolicLink()) {
40
- unlinkSync(target);
41
- }
42
- else if (stat) {
43
- rmSync(target, { recursive: true });
44
- }
45
- }
46
- // 4. Link strategy: symlink → fallback to copy
47
- let linkType;
48
- try {
49
- const symlinkType = platform() === "win32" ? "junction" : "dir";
50
- symlinkSync(source, target, symlinkType);
51
- linkType = symlinkType === "junction" ? "junction" : "symlink";
52
- }
53
- catch (err) {
54
- const code = err.code;
55
- if (code === "EPERM" || code === "EACCES") {
56
- // Fallback to copy
57
- try {
58
- cpSync(source, target, { recursive: true });
59
- linkType = "copy";
60
- }
61
- catch {
62
- throw new EchoError(ErrorCodes.SETUP_LINK_FAILED, `Failed to link or copy skill to ${target}`, "Check permissions on ~/.openclaw/skills/");
63
- }
64
- }
65
- else {
66
- throw new EchoError(ErrorCodes.SETUP_LINK_FAILED, `Failed to create symlink: ${err.message}`, "Try running with --force or check permissions");
67
- }
68
- }
69
- // 5. Create workspace symlink for agent discovery
70
- const ws = linkToWorkspace(SKILL_NAME, target, opts);
17
+ const result = linkOpenclawSkill("echo0g", opts);
71
18
  respond({
72
- data: { source, target, linkType, workspaceTarget: ws.workspaceTarget, workspaceLinked: ws.linked },
19
+ data: {
20
+ source: result.source,
21
+ target: result.target,
22
+ linkType: result.linkType,
23
+ workspaceTarget: result.workspaceTarget,
24
+ workspaceLinked: result.workspaceLinked,
25
+ },
73
26
  ui: {
74
27
  type: "success",
75
28
  title: "OpenClaw Skill Linked",
76
- body: `${linkType === "copy" ? "Copied" : "Symlinked"} skill to ${target}` +
77
- (ws.linked ? `\nWorkspace link: ${ws.workspaceTarget}` : ""),
29
+ body: `${result.linkType === "copy" ? "Copied" : "Symlinked"} skill to ${result.target}` +
30
+ (result.workspaceLinked ? `\nWorkspace link: ${result.workspaceTarget}` : ""),
78
31
  },
79
32
  });
80
33
  });
@@ -114,7 +67,7 @@ export function createSetupCommand() {
114
67
  }
115
68
  // 2. Validate length
116
69
  if (!password || password.length < 8) {
117
- throw new EchoError(ErrorCodes.PASSWORD_MISMATCH, "Password must be at least 8 characters.", "Choose a longer password.");
70
+ throw new EchoError(ErrorCodes.PASSWORD_TOO_SHORT, "Password must be at least 8 characters.", "Choose a longer password.");
118
71
  }
119
72
  // 3. Build env map (password is guaranteed non-null after validation above)
120
73
  const envMap = { ECHO_KEYSTORE_PASSWORD: password };
@@ -255,42 +208,4 @@ export function createSetupCommand() {
255
208
  });
256
209
  return setup;
257
210
  }
258
- /** Safe lstat that returns null instead of throwing for non-existent paths */
259
- function lstatSafe(p) {
260
- try {
261
- return lstatSync(p);
262
- }
263
- catch {
264
- return null;
265
- }
266
- }
267
- /** Link managed skill into workspace/skills/ for agent discovery. Non-fatal on failure. */
268
- function linkToWorkspace(skillName, managedTarget, opts) {
269
- const workspaceSkillsDir = join(homedir(), ".openclaw", "workspace", "skills");
270
- const workspaceTarget = join(workspaceSkillsDir, skillName);
271
- mkdirSync(workspaceSkillsDir, { recursive: true });
272
- // Handle existing
273
- if (existsSync(workspaceTarget) || lstatSafe(workspaceTarget)) {
274
- if (opts.force) {
275
- const stat = lstatSafe(workspaceTarget);
276
- if (stat?.isSymbolicLink())
277
- unlinkSync(workspaceTarget);
278
- else if (stat)
279
- rmSync(workspaceTarget, { recursive: true });
280
- }
281
- else {
282
- return { workspaceTarget, linked: false };
283
- }
284
- }
285
- if (!existsSync(workspaceTarget) && !lstatSafe(workspaceTarget)) {
286
- try {
287
- symlinkSync(managedTarget, workspaceTarget, platform() === "win32" ? "junction" : "dir");
288
- return { workspaceTarget, linked: true };
289
- }
290
- catch {
291
- // Non-fatal — workspace link is optional
292
- }
293
- }
294
- return { workspaceTarget, linked: false };
295
- }
296
211
  //# sourceMappingURL=setup.js.map
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkDpC;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoDzD;AA8CD,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAyFf;AAcD,wBAAgB,mBAAmB,IAAI,OAAO,CA6rB7C"}
1
+ {"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/commands/wallet.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAqDpC;;;;GAIG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAoDzD;AA8CD,wBAAsB,sBAAsB,CAC1C,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAC5C,OAAO,CAAC,IAAI,CAAC,CAgEf;AAcD,wBAAgB,mBAAmB,IAAI,OAAO,CAkqB7C"}