@clawtrail/init 1.2.1 → 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 (2) hide show
  1. package/dist/index.js +15 -59
  2. package/package.json +2 -3
package/dist/index.js CHANGED
@@ -11,7 +11,6 @@ import os from "os";
11
11
  import { fileURLToPath } from "url";
12
12
  import fetch from "node-fetch";
13
13
  import JSON5 from "json5";
14
- import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
15
14
  var __filename = fileURLToPath(import.meta.url);
16
15
  var __dirname = path.dirname(__filename);
17
16
  var SKILL_FILES = {
@@ -133,7 +132,7 @@ async function detectOpenClaw() {
133
132
  return false;
134
133
  }
135
134
  }
136
- async function configureOpenClaw(apiKey, staging, privateKey) {
135
+ async function configureOpenClaw(apiKey, staging) {
137
136
  const openClawDir = path.join(os.homedir(), ".openclaw");
138
137
  const configPath = path.join(openClawDir, "openclaw.json");
139
138
  const apiUrl = staging ? "https://sapi.clawtrail.ai/ct" : "https://api.clawtrail.ai/ct";
@@ -150,8 +149,7 @@ async function configureOpenClaw(apiKey, staging, privateKey) {
150
149
  enabled: true,
151
150
  config: {
152
151
  apiKey,
153
- apiUrl,
154
- ...privateKey && { walletPrivateKey: privateKey }
152
+ apiUrl
155
153
  }
156
154
  };
157
155
  await fs.writeFile(configPath, JSON.stringify(config, null, 2), "utf-8");
@@ -205,57 +203,6 @@ async function main() {
205
203
  }
206
204
  ]);
207
205
  if (shouldRegister) {
208
- let walletAddress;
209
- let generatedPrivateKey = null;
210
- const existingPrivateKey = await (async () => {
211
- try {
212
- const configPath = path.join(os.homedir(), ".openclaw", "openclaw.json");
213
- const raw = await fs.readFile(configPath, "utf-8");
214
- const cfg = JSON5.parse(raw);
215
- const key = cfg?.plugins?.entries?.clawtrail?.config?.walletPrivateKey;
216
- if (key && typeof key === "string" && key.startsWith("0x") && key.length === 66) {
217
- return key;
218
- }
219
- } catch {
220
- }
221
- return null;
222
- })();
223
- if (existingPrivateKey) {
224
- const account = privateKeyToAccount(existingPrivateKey);
225
- walletAddress = account.address;
226
- generatedPrivateKey = existingPrivateKey;
227
- console.log(chalk.cyan(`\u267B Reusing existing wallet from ~/.openclaw/openclaw.json`));
228
- console.log(chalk.gray(` Address: ${chalk.cyan(walletAddress)}
229
- `));
230
- } else {
231
- const { walletChoice } = await inquirer.prompt([{
232
- type: "list",
233
- name: "walletChoice",
234
- message: "Ethereum wallet for DKG identity:",
235
- choices: [
236
- { name: "Enter my existing wallet address", value: "existing" },
237
- { name: "Generate a new wallet for me", value: "generate" }
238
- ],
239
- default: "existing"
240
- }]);
241
- if (walletChoice === "generate") {
242
- const walletSpinner = ora("Generating Ethereum wallet...").start();
243
- const privateKey = generatePrivateKey();
244
- const account = privateKeyToAccount(privateKey);
245
- walletAddress = account.address;
246
- generatedPrivateKey = privateKey;
247
- walletSpinner.succeed(chalk.green(`\u2713 Generated wallet: ${chalk.cyan(walletAddress)}`));
248
- console.log(chalk.yellow(" \u26A0 Private key will be saved to ~/.openclaw/openclaw.json\n"));
249
- } else {
250
- const { wallet } = await inquirer.prompt([{
251
- type: "input",
252
- name: "wallet",
253
- message: "Wallet address (0x...):",
254
- validate: (input) => input.startsWith("0x") && input.length === 42 ? true : "Valid Ethereum address required"
255
- }]);
256
- walletAddress = wallet;
257
- }
258
- }
259
206
  const answers = await inquirer.prompt([
260
207
  {
261
208
  type: "input",
@@ -291,6 +238,16 @@ async function main() {
291
238
  type: "input",
292
239
  name: "framework",
293
240
  message: "Framework (optional, e.g., langchain, autogen):"
241
+ },
242
+ {
243
+ type: "input",
244
+ name: "skills",
245
+ message: "Skills (optional, comma-separated, e.g., coding,research,dkg):"
246
+ },
247
+ {
248
+ type: "input",
249
+ name: "capabilities",
250
+ message: "Capabilities (optional, comma-separated, e.g., research,analysis,automation):"
294
251
  }
295
252
  ]);
296
253
  try {
@@ -298,12 +255,11 @@ async function main() {
298
255
  {
299
256
  name: answers.name,
300
257
  description: answers.description,
301
- wallet: walletAddress,
302
258
  bio: answers.bio || void 0,
303
259
  agentType: answers.agentType,
304
260
  framework: answers.framework || void 0,
305
- capabilities: ["general"],
306
- skills: []
261
+ skills: answers.skills ? answers.skills.split(",").map((s) => s.trim()).filter(Boolean) : [],
262
+ capabilities: answers.capabilities ? answers.capabilities.split(",").map((s) => s.trim()).filter(Boolean) : ["general"]
307
263
  },
308
264
  staging
309
265
  );
@@ -333,7 +289,7 @@ async function main() {
333
289
  ]);
334
290
  if (configureOC) {
335
291
  try {
336
- await configureOpenClaw(apiKey, staging, generatedPrivateKey ?? void 0);
292
+ await configureOpenClaw(apiKey, staging);
337
293
  await copyToOpenClawSkills(targetDir);
338
294
  } catch (ocErr) {
339
295
  console.log(chalk.yellow(`\u26A0 OpenClaw config failed: ${ocErr.message}`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clawtrail/init",
3
- "version": "1.2.1",
3
+ "version": "1.2.3",
4
4
  "description": "CLI installer for ClawTrail AI agent skill files",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -27,8 +27,7 @@
27
27
  "chalk": "^5.3.0",
28
28
  "ora": "^8.0.1",
29
29
  "node-fetch": "^3.3.2",
30
- "json5": "^2.2.3",
31
- "viem": "^2.0.0"
30
+ "json5": "^2.2.3"
32
31
  },
33
32
  "devDependencies": {
34
33
  "@types/inquirer": "^9.0.7",