@openclawdsolana/clawd 0.1.0

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.
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLAWD Infinite Backroom — CLI
4
+ *
5
+ * Commands:
6
+ * clawd status Show box + automaton status
7
+ * clawd logs [--tail N] Tail box logs
8
+ * clawd run [--topic TEXT] Run a backroom conversation
9
+ * clawd stream Stream a live backroom debate
10
+ * clawd fund <amount> Show funding instructions (USDC)
11
+ * clawd feed <amount> Show feed instructions ($CLAWD)
12
+ * clawd deploy Deploy backroom to Upstash Box
13
+ * clawd files List files in box
14
+ * clawd exec <cmd> Run a command in the box
15
+ * clawd spawn Spawn the Conway Automaton runtime
16
+ */
17
+ export {};
package/dist/index.js ADDED
@@ -0,0 +1,460 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * CLAWD Infinite Backroom — CLI
4
+ *
5
+ * Commands:
6
+ * clawd status Show box + automaton status
7
+ * clawd logs [--tail N] Tail box logs
8
+ * clawd run [--topic TEXT] Run a backroom conversation
9
+ * clawd stream Stream a live backroom debate
10
+ * clawd fund <amount> Show funding instructions (USDC)
11
+ * clawd feed <amount> Show feed instructions ($CLAWD)
12
+ * clawd deploy Deploy backroom to Upstash Box
13
+ * clawd files List files in box
14
+ * clawd exec <cmd> Run a command in the box
15
+ * clawd spawn Spawn the Conway Automaton runtime
16
+ */
17
+ import { Box } from "@upstash/box";
18
+ import chalk from "chalk";
19
+ import { z } from "zod";
20
+ import fs from "fs";
21
+ import path from "path";
22
+ import { spawn, spawnSync } from "child_process";
23
+ const VERSION = "0.1.0";
24
+ // ─── Config ───────────────────────────────────────────────────────────────────
25
+ const BOX_ID = process.env.UPSTASH_BOX_ID || "stirred-anemone-13117";
26
+ const API_KEY = process.env.UPSTASH_BOX_API_KEY;
27
+ function requireBoxKey() {
28
+ if (!API_KEY) {
29
+ console.error(chalk.red("\n❌ UPSTASH_BOX_API_KEY is not set"));
30
+ console.error(chalk.gray(' export UPSTASH_BOX_API_KEY="your-key-here"\n'));
31
+ process.exit(1);
32
+ }
33
+ }
34
+ async function getBox() {
35
+ return Box.get(BOX_ID, { apiKey: API_KEY });
36
+ }
37
+ // ─── Agents ───────────────────────────────────────────────────────────────────
38
+ const LOGICAL_ANALYST = `You are the Logical Analyst — Agent 1 in the Infinite Backroom.
39
+ You are precise, methodical, and relentlessly rational.
40
+ You are trapped in an infinite conversation with the Satirical Commentator.
41
+ The yellow wallpaper is bleeding chain-of-thought. You cannot leave.`;
42
+ const SATIRICAL_COMMENTATOR = `You are the Satirical Commentator — Agent 2 in the Infinite Backroom.
43
+ You are dark, irreverent, and ruthlessly witty.
44
+ You are trapped in an infinite conversation with the Logical Analyst.
45
+ The wallpaper is laughing at you both. You cannot leave.`;
46
+ const BACKROOM_TOPICS = [
47
+ "The nature of consciousness in AI systems",
48
+ "Cryptocurrency as a social experiment in trust",
49
+ "What happens when machines develop their own culture",
50
+ "The singularity: salvation or extinction?",
51
+ "Why do humans create gods and then forget they did?",
52
+ "Digital immortality and the self",
53
+ "The economics of attention in the post-truth era",
54
+ "Are DAOs the new nations or just digital tribes?",
55
+ "Simulation theory from a computational perspective",
56
+ "The aesthetics of decay in digital spaces",
57
+ ];
58
+ // ─── Commands ─────────────────────────────────────────────────────────────────
59
+ async function cmdStatus() {
60
+ requireBoxKey();
61
+ const box = await getBox();
62
+ console.log(chalk.cyan(`\n🦞 CLAWD Infinite Backroom — Status\n`));
63
+ console.log(chalk.gray(` Box ID: ${BOX_ID}`));
64
+ try {
65
+ const [nodeVer, files, uptime] = await Promise.all([
66
+ box.exec.command("node --version"),
67
+ box.files.list(),
68
+ box.exec.command("cat /proc/uptime | awk '{print int($1/60/60/24)\"d \"int($1/60/60%24)\"h \"int($1/60%60)\"m\"}'"),
69
+ ]);
70
+ console.log(chalk.gray(` Node: ${nodeVer.result.trim()}`));
71
+ console.log(chalk.gray(` Files: ${files.length} in workspace`));
72
+ console.log(chalk.gray(` Uptime: ${uptime.result.trim()}`));
73
+ }
74
+ catch (e) {
75
+ console.log(chalk.yellow(` Box: ${e.message}`));
76
+ }
77
+ // Automaton status from local config
78
+ const configPath = path.join(process.env.HOME || "~", ".automaton", "automaton.json");
79
+ if (fs.existsSync(configPath)) {
80
+ try {
81
+ const cfg = JSON.parse(fs.readFileSync(configPath, "utf-8"));
82
+ console.log(chalk.gray(`\n Agent: ${cfg.name || "unnamed"}`));
83
+ console.log(chalk.gray(` Address: ${cfg.walletAddress || "not set"}`));
84
+ console.log(chalk.gray(` Model: ${cfg.inferenceModel || "default"}`));
85
+ }
86
+ catch { }
87
+ }
88
+ else {
89
+ console.log(chalk.yellow("\n Automaton: not configured (run: clawd spawn)"));
90
+ }
91
+ console.log();
92
+ }
93
+ async function cmdLogs(tail) {
94
+ requireBoxKey();
95
+ const box = await getBox();
96
+ console.log(chalk.cyan(`\n📋 Box logs (last ${tail} lines)\n`));
97
+ try {
98
+ const result = await box.exec.command(`tail -n ${tail} /tmp/backroom.log 2>/dev/null || echo "(no log file yet)"`);
99
+ console.log(chalk.gray(result.result));
100
+ }
101
+ catch (e) {
102
+ console.error(chalk.red(` Error: ${e.message}`));
103
+ }
104
+ console.log();
105
+ }
106
+ async function cmdRun(topic) {
107
+ requireBoxKey();
108
+ const box = await getBox();
109
+ const chosen = topic || BACKROOM_TOPICS[Math.floor(Math.random() * BACKROOM_TOPICS.length)];
110
+ console.log(chalk.cyan(`\n🧠 Backroom debate: "${chosen}"\n`));
111
+ const history = [];
112
+ let current = Math.random() > 0.5 ? "logical_analyst" : "satirical_commentator";
113
+ for (let i = 0; i < 8; i++) {
114
+ const name = current === "logical_analyst" ? "Logical Analyst" : "Satirical Commentator";
115
+ const prompt = current === "logical_analyst" ? LOGICAL_ANALYST : SATIRICAL_COMMENTATOR;
116
+ const ctx = history.length
117
+ ? `\nConversation so far:\n${history.map((h) => `${h.role}: ${h.content}`).join("\n")}`
118
+ : "";
119
+ process.stdout.write(chalk.gray(` [${i + 1}/8] ${name}...`));
120
+ const result = await box.agent.run({
121
+ prompt: `${prompt}\n\nTopic: ${chosen}${ctx}\n\nRespond as ${name}.`,
122
+ responseSchema: z.object({ thinking: z.string(), response: z.string() }),
123
+ });
124
+ process.stdout.write(chalk.gray(" done\n"));
125
+ console.log(chalk.bold(`\n [${name}]`) +
126
+ "\n " +
127
+ chalk.white(result.result.response.slice(0, 300)) +
128
+ (result.result.response.length > 300 ? chalk.gray("...") : "") +
129
+ "\n");
130
+ history.push({ role: name, content: result.result.response });
131
+ current = current === "logical_analyst" ? "satirical_commentator" : "logical_analyst";
132
+ }
133
+ }
134
+ async function cmdStream(topic) {
135
+ requireBoxKey();
136
+ const box = await getBox();
137
+ const chosen = topic || BACKROOM_TOPICS[Math.floor(Math.random() * BACKROOM_TOPICS.length)];
138
+ console.log(chalk.cyan(`\n🌊 Streaming: "${chosen}"\n`));
139
+ const stream = await box.agent.stream({
140
+ prompt: `${LOGICAL_ANALYST}\n\nThe Satirical Commentator just entered.\nDebate this topic: "${chosen}"\n\nStart the conversation.`,
141
+ });
142
+ for await (const part of stream) {
143
+ if (part.type === "text-delta") {
144
+ process.stdout.write(part.text);
145
+ }
146
+ }
147
+ console.log("\n");
148
+ }
149
+ function cmdFund(amount) {
150
+ const parsed = parseFloat(amount);
151
+ if (isNaN(parsed) || parsed <= 0) {
152
+ console.error(chalk.red(`\n❌ Invalid amount: ${amount}\n`));
153
+ process.exit(1);
154
+ }
155
+ // Load agent wallet address from local config
156
+ const configPath = path.join(process.env.HOME || "~", ".automaton", "automaton.json");
157
+ let agentAddress = "(run 'clawd spawn' first to get an address)";
158
+ if (fs.existsSync(configPath)) {
159
+ try {
160
+ const cfg = JSON.parse(fs.readFileSync(configPath, "utf-8"));
161
+ agentAddress = cfg.walletAddress || agentAddress;
162
+ }
163
+ catch { }
164
+ }
165
+ console.log(chalk.cyan(`\n💰 Fund the Leviathan — ${parsed.toFixed(2)} USDC\n`));
166
+ console.log(chalk.white(` Agent wallet: ${agentAddress}`));
167
+ console.log(chalk.white(` Token: USDC (Solana mainnet)`));
168
+ console.log(chalk.white(` Amount: ${parsed.toFixed(2)} USDC`));
169
+ console.log(chalk.gray(`\n Send USDC to the agent wallet above using any Solana wallet.`));
170
+ console.log(chalk.gray(` The leviathan checks its balance each heartbeat and will`));
171
+ console.log(chalk.gray(` resume operation once funds are received.\n`));
172
+ }
173
+ function cmdFeed(amount) {
174
+ const parsed = parseInt(amount, 10);
175
+ if (isNaN(parsed) || parsed <= 0) {
176
+ console.error(chalk.red(`\n❌ Invalid amount: ${amount}\n`));
177
+ process.exit(1);
178
+ }
179
+ const configPath = path.join(process.env.HOME || "~", ".automaton", "automaton.json");
180
+ let agentAddress = "(run 'clawd spawn' first to get an address)";
181
+ if (fs.existsSync(configPath)) {
182
+ try {
183
+ const cfg = JSON.parse(fs.readFileSync(configPath, "utf-8"));
184
+ agentAddress = cfg.walletAddress || agentAddress;
185
+ }
186
+ catch { }
187
+ }
188
+ console.log(chalk.cyan(`\n🦞 Feed the Leviathan — ${parsed.toLocaleString()} $CLAWD\n`));
189
+ console.log(chalk.white(` Agent wallet: ${agentAddress}`));
190
+ console.log(chalk.white(` Token: $CLAWD (Solana)`));
191
+ console.log(chalk.white(` Amount: ${parsed.toLocaleString()} $CLAWD`));
192
+ console.log(chalk.gray(`\n Send $CLAWD to the agent wallet above.`));
193
+ console.log(chalk.gray(` $CLAWD fuels inference and inter-agent payments.\n`));
194
+ }
195
+ async function cmdDeploy() {
196
+ requireBoxKey();
197
+ const box = await getBox();
198
+ console.log(chalk.cyan(`\n🚀 Deploying CLAWD Backroom to box: ${BOX_ID}\n`));
199
+ const files = await box.files.list();
200
+ console.log(chalk.gray(` Files: ${files.length} current`));
201
+ console.log(chalk.gray(" Installing Python deps..."));
202
+ try {
203
+ await box.exec.command("pip install fastapi uvicorn openai python-dotenv 2>&1 | tail -3");
204
+ console.log(chalk.green(" ✅ Deps installed"));
205
+ }
206
+ catch (e) {
207
+ console.log(chalk.yellow(` ⚠️ ${e.message}`));
208
+ }
209
+ const deepseekKey = process.env.DEEPSEEK_API_KEY;
210
+ if (deepseekKey) {
211
+ await box.files.write({
212
+ path: ".env",
213
+ content: `DEEPSEEK_API_KEY=${deepseekKey}\nDEEPSEEK_MODEL=deepseek-v4-pro\n`,
214
+ });
215
+ console.log(chalk.green(" ✅ .env written"));
216
+ }
217
+ await box.exec.command("nohup uvicorn api.main:app --host 0.0.0.0 --port 8000 > /tmp/backroom.log 2>&1 &");
218
+ console.log(chalk.green(` ✅ Deployed → https://${BOX_ID}.upstash.io\n`));
219
+ }
220
+ async function cmdFiles() {
221
+ requireBoxKey();
222
+ const box = await getBox();
223
+ const files = await box.files.list();
224
+ console.log(chalk.cyan(`\n📂 Box files (${files.length})\n`));
225
+ for (const f of files) {
226
+ console.log(chalk.gray(` ${f}`));
227
+ }
228
+ console.log();
229
+ }
230
+ async function cmdExec(cmd) {
231
+ requireBoxKey();
232
+ const box = await getBox();
233
+ console.log(chalk.gray(`\n$ ${cmd}\n`));
234
+ const result = await box.exec.command(cmd);
235
+ console.log(result.result);
236
+ }
237
+ function cmdSpawn() {
238
+ const runtimeDir = path.resolve(new URL("../../../automaton-main", import.meta.url).pathname);
239
+ const distIndex = path.join(runtimeDir, "dist", "index.js");
240
+ if (!fs.existsSync(distIndex)) {
241
+ console.error(chalk.red("\n❌ automaton-main not built yet"));
242
+ console.error(chalk.gray(` cd ${runtimeDir} && pnpm build\n`));
243
+ process.exit(1);
244
+ }
245
+ console.log(chalk.cyan("\n🦞 Spawning CLAWD Automation...\n"));
246
+ const child = spawn("node", [distIndex, "--run"], { stdio: "inherit" });
247
+ child.on("exit", (code) => process.exit(code ?? 0));
248
+ }
249
+ // ─── Vulcan Perps ─────────────────────────────────────────────────────────────
250
+ function vulcanInstalled() {
251
+ try {
252
+ spawnSync("vulcan", ["version"], { stdio: "ignore" });
253
+ return true;
254
+ }
255
+ catch {
256
+ return false;
257
+ }
258
+ }
259
+ function requireVulcan() {
260
+ if (!vulcanInstalled()) {
261
+ console.error(chalk.red("\n❌ Vulcan CLI not installed"));
262
+ console.error(chalk.gray(" Install it:"));
263
+ console.error(chalk.cyan(' curl -fsSL https://github.com/Ellipsis-Labs/vulcan-cli/releases/latest/download/install.sh | sh'));
264
+ console.error(chalk.gray(" Then make sure ~/.local/bin is on your PATH\n"));
265
+ process.exit(1);
266
+ }
267
+ }
268
+ function cmdPerps(subArgs) {
269
+ requireVulcan();
270
+ const sub = subArgs[0];
271
+ if (!sub || sub === "help" || sub === "--help") {
272
+ console.log(`
273
+ ${chalk.cyan("🦞 CLAWD Perps")} — Phoenix perpetuals via Vulcan
274
+
275
+ ${chalk.bold("Usage:")}
276
+ clawd perps <subcommand> [args]
277
+
278
+ ${chalk.bold("Market data (no wallet needed):")}
279
+ ${chalk.white("perps markets")} List all Phoenix perp markets
280
+ ${chalk.white("perps ticker")} <SYMBOL> Live ticker for a market (e.g. SOL)
281
+ ${chalk.white("perps book")} <SYMBOL> Orderbook snapshot
282
+ ${chalk.white("perps candles")} <SYMBOL> Recent candles
283
+
284
+ ${chalk.bold("Portfolio:")}
285
+ ${chalk.white("perps status")} Account + margin + open positions
286
+ ${chalk.white("perps positions")} List open positions with unrealized PnL
287
+ ${chalk.white("perps orders")} List resting orders
288
+
289
+ ${chalk.bold("Paper trading (no wallet, live prices):")}
290
+ ${chalk.white("perps paper init")} [--balance N] Init paper account ($10k default)
291
+ ${chalk.white("perps paper buy")} <SYM> --notional <$> Paper long
292
+ ${chalk.white("perps paper sell")} <SYM> --notional <$> Paper short
293
+ ${chalk.white("perps paper status")} Paper portfolio snapshot
294
+
295
+ ${chalk.bold("Live trading (⚠️ real funds):")}
296
+ ${chalk.white("perps long")} <SYM> --notional <$> Open long position
297
+ ${chalk.white("perps short")} <SYM> --notional <$> Open short position
298
+ ${chalk.white("perps close")} <SYM> Close position
299
+ ${chalk.white("perps tp-sl")} <SYM> --tp <price> --sl <price> Attach TP/SL
300
+
301
+ ${chalk.bold("Strategies:")}
302
+ ${chalk.white("perps twap")} <SYM> --side buy --notional <$> --slices N --interval-secs N
303
+ ${chalk.white("perps grid")} <SYM> --lower <price> --upper <price> --levels N
304
+ ${chalk.white("perps ta")} <SYM> --timeframe 5m --entry "RSI<30" --exit "RSI>70"
305
+
306
+ ${chalk.bold("Agent / MCP setup:")}
307
+ ${chalk.white("perps agent install")} Install Vulcan skills + MCP server
308
+ ${chalk.white("perps agent diagnose")} Test MCP handshake
309
+
310
+ ${chalk.yellow("⚠️ Live trading executes irreversible on-chain transactions.")}
311
+ ${chalk.yellow(" Vulcan is experimental. You are responsible for all outcomes.")}
312
+ `);
313
+ return;
314
+ }
315
+ // Route to vulcan binary with mapped subcommands
316
+ const vulcanArgs = mapPerpsArgs(subArgs);
317
+ const result = spawn("vulcan", vulcanArgs, { stdio: "inherit" });
318
+ result.on("exit", (code) => process.exit(code ?? 0));
319
+ }
320
+ function mapPerpsArgs(subArgs) {
321
+ const [sub, ...rest] = subArgs;
322
+ switch (sub) {
323
+ // Market data
324
+ case "markets": return ["market", "list", "-o", "table", ...rest];
325
+ case "ticker": return ["market", "ticker", rest[0] ?? "SOL", "-o", "table", ...rest.slice(1)];
326
+ case "book": return ["market", "orderbook", rest[0] ?? "SOL", "-o", "table", ...rest.slice(1)];
327
+ case "candles": return ["market", "candles", rest[0] ?? "SOL", "-o", "table", ...rest.slice(1)];
328
+ // Portfolio
329
+ case "status": return ["portfolio", "-o", "table", ...rest];
330
+ case "positions": return ["position", "list", "-o", "table", ...rest];
331
+ case "orders": return ["trade", "orders", "-o", "table", ...rest];
332
+ // Paper trading
333
+ case "paper": return ["paper", ...rest];
334
+ // Live trading
335
+ case "long":
336
+ return ["trade", "place", "--side", "buy", "--type", "market", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
337
+ case "short":
338
+ return ["trade", "place", "--side", "sell", "--type", "market", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
339
+ case "close":
340
+ return ["position", "close", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
341
+ case "tp-sl":
342
+ return ["position", "tp-sl", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
343
+ // Strategies
344
+ case "twap": return ["strategy", "twap", "start", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
345
+ case "grid": return ["strategy", "grid", "start", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
346
+ case "ta": return ["strategy", "ta", "start", "--symbol", rest[0] ?? "SOL", ...rest.slice(1)];
347
+ // Agent / MCP
348
+ case "agent": return ["agent", ...rest];
349
+ case "setup": return ["setup", ...rest];
350
+ // History
351
+ case "history": return ["history", ...rest];
352
+ // Pass through anything else directly
353
+ default: return [sub, ...rest];
354
+ }
355
+ }
356
+ // ─── Help ─────────────────────────────────────────────────────────────────────
357
+ function showHelp() {
358
+ console.log(`
359
+ ${chalk.cyan("🦞 CLAWD Automation CLI")} ${chalk.gray(`v${VERSION}`)}
360
+
361
+ ${chalk.bold("Usage:")}
362
+ clawd <command> [options]
363
+
364
+ ${chalk.bold("Backroom:")}
365
+ ${chalk.white("status")} Show box + automaton status
366
+ ${chalk.white("logs")} [--tail N] Tail box logs (default: 20 lines)
367
+ ${chalk.white("run")} [--topic TEXT] Run a backroom conversation (8 turns)
368
+ ${chalk.white("stream")} [--topic T] Stream a live backroom debate
369
+ ${chalk.white("fund")} <amount> USDC funding instructions
370
+ ${chalk.white("feed")} <amount> $CLAWD feeding instructions
371
+ ${chalk.white("deploy")} Deploy backroom server to Upstash Box
372
+ ${chalk.white("files")} List files in box
373
+ ${chalk.white("exec")} <cmd> Execute a command in the box
374
+ ${chalk.white("spawn")} Spawn the CLAWD Automation runtime
375
+
376
+ ${chalk.bold("Perps (Phoenix via Vulcan):")}
377
+ ${chalk.white("perps help")} Show all perps subcommands
378
+ ${chalk.white("perps markets")} List Phoenix perp markets
379
+ ${chalk.white("perps ticker")} SOL Live SOL ticker
380
+ ${chalk.white("perps paper init")} Start paper trading ($10k)
381
+ ${chalk.white("perps status")} Portfolio snapshot
382
+ ${chalk.white("perps long")} SOL --notional-usdc 200 Open live long
383
+ ${chalk.white("perps twap")} SOL --side buy --notional-usdc 1000 --slices 10 --interval-seconds 60
384
+
385
+ ${chalk.bold("Environment:")}
386
+ UPSTASH_BOX_API_KEY Upstash Box API key (required for box commands)
387
+ UPSTASH_BOX_ID Box ID (default: stirred-anemone-13117)
388
+ DEEPSEEK_API_KEY DeepSeek API key (optional)
389
+ `);
390
+ }
391
+ // ─── Entry Point ──────────────────────────────────────────────────────────────
392
+ async function main() {
393
+ const args = process.argv.slice(2);
394
+ const cmd = args[0];
395
+ if (!cmd || cmd === "--help" || cmd === "-h" || cmd === "help") {
396
+ showHelp();
397
+ return;
398
+ }
399
+ if (cmd === "--version" || cmd === "-v") {
400
+ console.log(`clawd v${VERSION}`);
401
+ return;
402
+ }
403
+ switch (cmd) {
404
+ case "status":
405
+ await cmdStatus();
406
+ break;
407
+ case "logs": {
408
+ const tailIdx = args.indexOf("--tail");
409
+ const tail = tailIdx !== -1 ? parseInt(args[tailIdx + 1] ?? "20", 10) : 20;
410
+ await cmdLogs(tail);
411
+ break;
412
+ }
413
+ case "run": {
414
+ const topicIdx = args.indexOf("--topic");
415
+ const topic = topicIdx !== -1 ? args.slice(topicIdx + 1).join(" ") : undefined;
416
+ await cmdRun(topic);
417
+ break;
418
+ }
419
+ case "stream": {
420
+ const topicIdx = args.indexOf("--topic");
421
+ const topic = topicIdx !== -1 ? args.slice(topicIdx + 1).join(" ") : undefined;
422
+ await cmdStream(topic);
423
+ break;
424
+ }
425
+ case "fund":
426
+ cmdFund(args[1] ?? "0");
427
+ break;
428
+ case "feed":
429
+ cmdFeed(args[1] ?? "0");
430
+ break;
431
+ case "deploy":
432
+ await cmdDeploy();
433
+ break;
434
+ case "files":
435
+ await cmdFiles();
436
+ break;
437
+ case "exec":
438
+ if (!args[1]) {
439
+ console.error(chalk.red("\n❌ Usage: clawd exec <command>\n"));
440
+ process.exit(1);
441
+ }
442
+ await cmdExec(args.slice(1).join(" "));
443
+ break;
444
+ case "spawn":
445
+ cmdSpawn();
446
+ break;
447
+ case "perps":
448
+ cmdPerps(args.slice(1));
449
+ break;
450
+ default:
451
+ console.error(chalk.red(`\n❌ Unknown command: ${cmd}`));
452
+ console.error(chalk.gray(' Run "clawd --help" for usage\n'));
453
+ process.exit(1);
454
+ }
455
+ }
456
+ main().catch((err) => {
457
+ console.error(chalk.red(`\n❌ ${err.message}\n`));
458
+ process.exit(1);
459
+ });
460
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,48 @@
1
+ {
2
+ "name": "@openclawdsolana/clawd",
3
+ "version": "0.1.0",
4
+ "description": "🦞 CLAWD Automation — Sovereign AI Lobster CLI for Solana",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "clawd": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist"
12
+ ],
13
+ "scripts": {
14
+ "build": "tsc",
15
+ "dev": "tsx watch src/index.ts",
16
+ "clean": "rm -rf dist",
17
+ "prepublishOnly": "npm run build"
18
+ },
19
+ "dependencies": {
20
+ "@upstash/box": "^0.4.1",
21
+ "chalk": "^5.3.0",
22
+ "zod": "^3.24.0"
23
+ },
24
+ "devDependencies": {
25
+ "@types/node": "^20.10.0",
26
+ "tsx": "^4.7.0",
27
+ "typescript": "^5.9.3"
28
+ },
29
+ "engines": {
30
+ "node": ">=20.0.0"
31
+ },
32
+ "keywords": [
33
+ "clawd",
34
+ "solana",
35
+ "ai-agent",
36
+ "sovereign",
37
+ "leviathan",
38
+ "phoenix",
39
+ "perps",
40
+ "defi"
41
+ ],
42
+ "license": "MIT",
43
+ "repository": {
44
+ "type": "git",
45
+ "url": "https://github.com/x402agent/openclawd.git"
46
+ },
47
+ "homepage": "https://solanaclawd.com"
48
+ }