@clawtrail/init 1.2.1 → 1.2.2
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/index.js +3 -57
- 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
|
|
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",
|
|
@@ -298,7 +245,6 @@ async function main() {
|
|
|
298
245
|
{
|
|
299
246
|
name: answers.name,
|
|
300
247
|
description: answers.description,
|
|
301
|
-
wallet: walletAddress,
|
|
302
248
|
bio: answers.bio || void 0,
|
|
303
249
|
agentType: answers.agentType,
|
|
304
250
|
framework: answers.framework || void 0,
|
|
@@ -333,7 +279,7 @@ async function main() {
|
|
|
333
279
|
]);
|
|
334
280
|
if (configureOC) {
|
|
335
281
|
try {
|
|
336
|
-
await configureOpenClaw(apiKey, staging
|
|
282
|
+
await configureOpenClaw(apiKey, staging);
|
|
337
283
|
await copyToOpenClawSkills(targetDir);
|
|
338
284
|
} catch (ocErr) {
|
|
339
285
|
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.
|
|
3
|
+
"version": "1.2.2",
|
|
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",
|