clawclick-sdk 0.1.8 → 1.0.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.
Files changed (68) hide show
  1. package/README.md +3 -3
  2. package/dist/abi.d.ts +41 -0
  3. package/dist/abi.d.ts.map +1 -1
  4. package/dist/abi.js +17 -0
  5. package/dist/abi.js.map +1 -1
  6. package/dist/api.d.ts +158 -0
  7. package/dist/api.d.ts.map +1 -0
  8. package/dist/api.js +118 -0
  9. package/dist/api.js.map +1 -0
  10. package/dist/chain.d.ts +119 -0
  11. package/dist/chain.d.ts.map +1 -0
  12. package/dist/chain.js +414 -0
  13. package/dist/chain.js.map +1 -0
  14. package/dist/cli/commands/agent-info.d.ts +8 -0
  15. package/dist/cli/commands/agent-info.d.ts.map +1 -0
  16. package/dist/cli/commands/agent-info.js +97 -0
  17. package/dist/cli/commands/agent-info.js.map +1 -0
  18. package/dist/cli/commands/create.d.ts +10 -0
  19. package/dist/cli/commands/create.d.ts.map +1 -0
  20. package/dist/cli/commands/create.js +53 -0
  21. package/dist/cli/commands/create.js.map +1 -0
  22. package/dist/cli/commands/deploy.d.ts +12 -0
  23. package/dist/cli/commands/deploy.d.ts.map +1 -0
  24. package/dist/cli/commands/deploy.js +190 -0
  25. package/dist/cli/commands/deploy.js.map +1 -0
  26. package/dist/cli/commands/funlan.d.ts +8 -0
  27. package/dist/cli/commands/funlan.d.ts.map +1 -0
  28. package/dist/cli/commands/funlan.js +129 -0
  29. package/dist/cli/commands/funlan.js.map +1 -0
  30. package/dist/cli/commands/immortalize.d.ts +13 -0
  31. package/dist/cli/commands/immortalize.d.ts.map +1 -0
  32. package/dist/cli/commands/immortalize.js +165 -0
  33. package/dist/cli/commands/immortalize.js.map +1 -0
  34. package/dist/cli/commands/init.d.ts +10 -0
  35. package/dist/cli/commands/init.d.ts.map +1 -0
  36. package/dist/cli/commands/init.js +177 -0
  37. package/dist/cli/commands/init.js.map +1 -0
  38. package/dist/cli/commands/memory.d.ts +11 -0
  39. package/dist/cli/commands/memory.d.ts.map +1 -0
  40. package/dist/cli/commands/memory.js +200 -0
  41. package/dist/cli/commands/memory.js.map +1 -0
  42. package/dist/cli/commands/session.d.ts +14 -0
  43. package/dist/cli/commands/session.d.ts.map +1 -0
  44. package/dist/cli/commands/session.js +313 -0
  45. package/dist/cli/commands/session.js.map +1 -0
  46. package/dist/cli/commands/status.d.ts +6 -0
  47. package/dist/cli/commands/status.d.ts.map +1 -0
  48. package/dist/cli/commands/status.js +96 -0
  49. package/dist/cli/commands/status.js.map +1 -0
  50. package/dist/cli/index.js +20 -0
  51. package/dist/cli/index.js.map +1 -1
  52. package/dist/contracts.d.ts +381 -0
  53. package/dist/contracts.d.ts.map +1 -0
  54. package/dist/contracts.js +213 -0
  55. package/dist/contracts.js.map +1 -0
  56. package/dist/funlan.d.ts +18 -0
  57. package/dist/funlan.d.ts.map +1 -0
  58. package/dist/funlan.js +85 -0
  59. package/dist/funlan.js.map +1 -0
  60. package/dist/index.d.ts +10 -0
  61. package/dist/index.d.ts.map +1 -1
  62. package/dist/index.js +45 -2
  63. package/dist/index.js.map +1 -1
  64. package/dist/wallet.d.ts +61 -0
  65. package/dist/wallet.d.ts.map +1 -0
  66. package/dist/wallet.js +115 -0
  67. package/dist/wallet.js.map +1 -0
  68. package/package.json +7 -5
@@ -0,0 +1,177 @@
1
+ "use strict";
2
+ /**
3
+ * `clawclick init` — Initialize a new agent project
4
+ *
5
+ * Generates agent wallet, writes clawclick.json config, optionally generates FUNLAN.
6
+ */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
19
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
20
+ }) : function(o, v) {
21
+ o["default"] = v;
22
+ });
23
+ var __importStar = (this && this.__importStar) || (function () {
24
+ var ownKeys = function(o) {
25
+ ownKeys = Object.getOwnPropertyNames || function (o) {
26
+ var ar = [];
27
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
28
+ return ar;
29
+ };
30
+ return ownKeys(o);
31
+ };
32
+ return function (mod) {
33
+ if (mod && mod.__esModule) return mod;
34
+ var result = {};
35
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
36
+ __setModuleDefault(result, mod);
37
+ return result;
38
+ };
39
+ })();
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ exports.initCommand = initCommand;
45
+ exports.runInit = runInit;
46
+ const commander_1 = require("commander");
47
+ const chalk_1 = __importDefault(require("chalk"));
48
+ const ora_1 = __importDefault(require("ora"));
49
+ const fs = __importStar(require("fs"));
50
+ const path = __importStar(require("path"));
51
+ const wallet_1 = require("../../wallet");
52
+ const funlan_1 = require("../../funlan");
53
+ function initCommand() {
54
+ const cmd = new commander_1.Command('init')
55
+ .description('Initialize a new agent project with a fresh wallet')
56
+ .option('--name <name>', 'Agent name')
57
+ .option('--symbol <symbol>', 'Token symbol (1-10 chars)')
58
+ .option('--network <network>', 'Network: sepolia or base', 'sepolia')
59
+ .option('--mcap <eth>', 'Starting market cap in ETH', '5')
60
+ .option('--dev-buy <percent>', 'Dev buy percentage (0-100)', '0')
61
+ .option('--creator <address>', 'Creator wallet address')
62
+ .option('--creator-key <key>', 'Creator private key (optional)')
63
+ .option('--tax-wallets <wallets>', 'Comma-separated tax wallet addresses')
64
+ .option('--tax-percentages <pcts>', 'Comma-separated tax percentages')
65
+ .option('--no-funlan', 'Skip FUNLAN.md generation')
66
+ .option('--force', 'Overwrite existing config')
67
+ .action(async (opts) => {
68
+ await runInit(opts);
69
+ });
70
+ return cmd;
71
+ }
72
+ async function runInit(opts) {
73
+ // Check for existing config
74
+ const existing = (0, wallet_1.findConfig)();
75
+ if (existing && !opts.force) {
76
+ console.log(chalk_1.default.yellow(`⚠ Config already exists at ${existing}`));
77
+ console.log(chalk_1.default.dim(' Use --force to overwrite'));
78
+ process.exit(1);
79
+ }
80
+ // Interactive mode if required fields missing
81
+ let name = opts.name;
82
+ let symbol = opts.symbol;
83
+ if (!name || !symbol) {
84
+ try {
85
+ // @ts-ignore - inquirer dynamic import
86
+ const inquirer = await Promise.resolve().then(() => __importStar(require('inquirer')));
87
+ const answers = await inquirer.default.prompt([
88
+ ...(!name ? [{
89
+ type: 'input',
90
+ name: 'name',
91
+ message: 'Agent name:',
92
+ validate: (v) => v.trim().length > 0 || 'Name is required',
93
+ }] : []),
94
+ ...(!symbol ? [{
95
+ type: 'input',
96
+ name: 'symbol',
97
+ message: 'Token symbol (1-10 chars):',
98
+ validate: (v) => {
99
+ const s = v.trim().toUpperCase();
100
+ return (s.length >= 1 && s.length <= 10) || 'Symbol must be 1-10 characters';
101
+ },
102
+ }] : []),
103
+ ]);
104
+ name = name || answers.name;
105
+ symbol = symbol || answers.symbol;
106
+ }
107
+ catch {
108
+ console.log(chalk_1.default.red('Error: --name and --symbol are required in non-interactive mode'));
109
+ process.exit(1);
110
+ }
111
+ }
112
+ symbol = symbol.toUpperCase();
113
+ const network = (opts.network || 'sepolia');
114
+ const startingMcap = parseFloat(opts.mcap || '5');
115
+ const devBuyPercent = parseFloat(opts.devBuy || '0');
116
+ // Generate agent wallet
117
+ const spinner = (0, ora_1.default)('Generating agent wallet...').start();
118
+ const wallet = (0, wallet_1.generateAgentWallet)();
119
+ spinner.succeed(`Agent wallet: ${chalk_1.default.cyan(wallet.address)}`);
120
+ // Parse tax wallets
121
+ let taxWallets = [];
122
+ let taxPercentages = [];
123
+ if (opts.taxWallets) {
124
+ taxWallets = opts.taxWallets.split(',').map((w) => w.trim());
125
+ taxPercentages = (opts.taxPercentages || '')
126
+ .split(',')
127
+ .map((p) => parseInt(p.trim()) || 0);
128
+ }
129
+ // If creator provided and no tax wallets, default to creator 100%
130
+ const creatorAddr = opts.creator || opts.creatorKey
131
+ ? (opts.creator || undefined)
132
+ : undefined;
133
+ if (creatorAddr && taxWallets.length === 0) {
134
+ taxWallets = [creatorAddr];
135
+ taxPercentages = [100];
136
+ }
137
+ // Build config
138
+ const config = {
139
+ name,
140
+ symbol,
141
+ network,
142
+ agentWallet: wallet.address,
143
+ agentPrivateKey: wallet.privateKey,
144
+ creatorWallet: creatorAddr,
145
+ creatorPrivateKey: opts.creatorKey || undefined,
146
+ startingMcap,
147
+ devBuyPercent,
148
+ taxWallets,
149
+ taxPercentages,
150
+ createdAt: new Date().toISOString(),
151
+ };
152
+ // Save config
153
+ const configPath = (0, wallet_1.saveConfig)(config);
154
+ console.log(chalk_1.default.green(`✔ Config saved to ${path.basename(configPath)}`));
155
+ // Generate FUNLAN.md
156
+ if (opts.funlan !== false) {
157
+ const grid = (0, funlan_1.generateFunlanGrid)(wallet.address);
158
+ const markdown = (0, funlan_1.toFunlanMarkdown)(wallet.address);
159
+ const funlanPath = path.join(process.cwd(), 'FUNLAN.md');
160
+ fs.writeFileSync(funlanPath, markdown);
161
+ console.log(chalk_1.default.green(`✔ FUNLAN.md generated`));
162
+ console.log(chalk_1.default.dim(` Grid: ${grid.text}`));
163
+ }
164
+ // Summary
165
+ console.log('');
166
+ console.log(chalk_1.default.bold('Agent initialized:'));
167
+ console.log(` Name: ${chalk_1.default.white(name)}`);
168
+ console.log(` Symbol: ${chalk_1.default.white(symbol)}`);
169
+ console.log(` Network: ${chalk_1.default.white(network)}`);
170
+ console.log(` Wallet: ${chalk_1.default.cyan(wallet.address)}`);
171
+ console.log(` MCap: ${chalk_1.default.white(startingMcap + ' ETH')}`);
172
+ console.log('');
173
+ console.log(chalk_1.default.dim('Next: run `clawclick deploy` to launch on-chain'));
174
+ console.log(chalk_1.default.dim(`⚠ Fund ${wallet.address} with ETH before deploying`));
175
+ return config;
176
+ }
177
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/cli/commands/init.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgBH,kCAkBC;AAED,0BAmHC;AArJD,yCAAmC;AACnC,kDAAyB;AACzB,8CAAqB;AACrB,uCAAwB;AACxB,2CAA4B;AAC5B,yCAKqB;AACrB,yCAAmE;AAGnE,SAAgB,WAAW;IACzB,MAAM,GAAG,GAAG,IAAI,mBAAO,CAAC,MAAM,CAAC;SAC5B,WAAW,CAAC,oDAAoD,CAAC;SACjE,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC;SACrC,MAAM,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;SACxD,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,SAAS,CAAC;SACpE,MAAM,CAAC,cAAc,EAAE,4BAA4B,EAAE,GAAG,CAAC;SACzD,MAAM,CAAC,qBAAqB,EAAE,4BAA4B,EAAE,GAAG,CAAC;SAChE,MAAM,CAAC,qBAAqB,EAAE,wBAAwB,CAAC;SACvD,MAAM,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;SAC/D,MAAM,CAAC,yBAAyB,EAAE,sCAAsC,CAAC;SACzE,MAAM,CAAC,0BAA0B,EAAE,iCAAiC,CAAC;SACrE,MAAM,CAAC,aAAa,EAAE,2BAA2B,CAAC;SAClD,MAAM,CAAC,SAAS,EAAE,2BAA2B,CAAC;SAC9C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;IACJ,OAAO,GAAG,CAAA;AACZ,CAAC;AAEM,KAAK,UAAU,OAAO,CAAC,IAAS;IACrC,4BAA4B;IAC5B,MAAM,QAAQ,GAAG,IAAA,mBAAU,GAAE,CAAA;IAC7B,IAAI,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8BAA8B,QAAQ,EAAE,CAAC,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC,CAAA;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,8CAA8C;IAC9C,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACpB,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IAExB,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,uCAAuC;YACvC,MAAM,QAAQ,GAAG,wDAAa,UAAU,GAAC,CAAA;YACzC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC;gBAC5C,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACX,IAAI,EAAE,OAAgB;wBACtB,IAAI,EAAE,MAAM;wBACZ,OAAO,EAAE,aAAa;wBACtB,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB;qBACnE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACR,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACb,IAAI,EAAE,OAAgB;wBACtB,IAAI,EAAE,QAAQ;wBACd,OAAO,EAAE,4BAA4B;wBACrC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;4BACtB,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;4BAChC,OAAO,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,IAAI,gCAAgC,CAAA;wBAC9E,CAAC;qBACF,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACT,CAAC,CAAA;YACF,IAAI,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAA;YAC3B,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,MAAM,CAAA;QACnC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAA;YACzF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC;IAED,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAC7B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAY,CAAA;IACtD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,CAAA;IACjD,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,CAAA;IAEpD,wBAAwB;IACxB,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,4BAA4B,CAAC,CAAC,KAAK,EAAE,CAAA;IACzD,MAAM,MAAM,GAAG,IAAA,4BAAmB,GAAE,CAAA;IACpC,OAAO,CAAC,OAAO,CAAC,iBAAiB,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IAE9D,oBAAoB;IACpB,IAAI,UAAU,GAAa,EAAE,CAAA;IAC7B,IAAI,cAAc,GAAa,EAAE,CAAA;IACjC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;QACpE,cAAc,GAAG,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,CAAC;aACzC,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,kEAAkE;IAClE,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU;QACjD,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QAC7B,CAAC,CAAC,SAAS,CAAA;IAEb,IAAI,WAAW,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3C,UAAU,GAAG,CAAC,WAAW,CAAC,CAAA;QAC1B,cAAc,GAAG,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC;IAED,eAAe;IACf,MAAM,MAAM,GAAgB;QAC1B,IAAI;QACJ,MAAM;QACN,OAAO;QACP,WAAW,EAAE,MAAM,CAAC,OAAO;QAC3B,eAAe,EAAE,MAAM,CAAC,UAAU;QAClC,aAAa,EAAE,WAAW;QAC1B,iBAAiB,EAAE,IAAI,CAAC,UAAU,IAAI,SAAS;QAC/C,YAAY;QACZ,aAAa;QACb,UAAU;QACV,cAAc;QACd,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IAED,cAAc;IACd,MAAM,UAAU,GAAG,IAAA,mBAAU,EAAC,MAAM,CAAC,CAAA;IACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAA;IAE1E,qBAAqB;IACrB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,IAAA,2BAAkB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC/C,MAAM,QAAQ,GAAG,IAAA,yBAAgB,EAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAA;QACxD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAChD,CAAC;IAED,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAA;IAC7C,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAC9C,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;IAChD,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACjD,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAA;IACvD,OAAO,CAAC,GAAG,CAAC,cAAc,eAAK,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;IAC/D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;IACf,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,CAAA;IACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,MAAM,CAAC,OAAO,4BAA4B,CAAC,CAAC,CAAA;IAE5E,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * `clawclick memory` — Store and query agent memory on-chain
3
+ *
4
+ * Subcommands:
5
+ * upload <file> — Store file contents directly on-chain via MemoryStorage
6
+ * list — List memory entries
7
+ * get <index> — Get specific memory entry
8
+ */
9
+ import { Command } from 'commander';
10
+ export declare function memoryCommand(): Command;
11
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC,wBAAgB,aAAa,IAAI,OAAO,CAuKvC"}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+ /**
3
+ * `clawclick memory` — Store and query agent memory on-chain
4
+ *
5
+ * Subcommands:
6
+ * upload <file> — Store file contents directly on-chain via MemoryStorage
7
+ * list — List memory entries
8
+ * get <index> — Get specific memory entry
9
+ */
10
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
17
+ }) : (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ o[k2] = m[k];
20
+ }));
21
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
22
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
23
+ }) : function(o, v) {
24
+ o["default"] = v;
25
+ });
26
+ var __importStar = (this && this.__importStar) || (function () {
27
+ var ownKeys = function(o) {
28
+ ownKeys = Object.getOwnPropertyNames || function (o) {
29
+ var ar = [];
30
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
31
+ return ar;
32
+ };
33
+ return ownKeys(o);
34
+ };
35
+ return function (mod) {
36
+ if (mod && mod.__esModule) return mod;
37
+ var result = {};
38
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
39
+ __setModuleDefault(result, mod);
40
+ return result;
41
+ };
42
+ })();
43
+ var __importDefault = (this && this.__importDefault) || function (mod) {
44
+ return (mod && mod.__esModule) ? mod : { "default": mod };
45
+ };
46
+ Object.defineProperty(exports, "__esModule", { value: true });
47
+ exports.memoryCommand = memoryCommand;
48
+ const commander_1 = require("commander");
49
+ const chalk_1 = __importDefault(require("chalk"));
50
+ const ora_1 = __importDefault(require("ora"));
51
+ const fs = __importStar(require("fs"));
52
+ const path = __importStar(require("path"));
53
+ const viem_1 = require("viem");
54
+ const wallet_1 = require("../../wallet");
55
+ const chain_1 = require("../../chain");
56
+ /** Minimum ETH the agent wallet needs for the updateMemory() call */
57
+ const AGENT_GAS_FUND = '0.0005';
58
+ function memoryCommand() {
59
+ const cmd = new commander_1.Command('memory')
60
+ .description('Manage agent memory (on-chain via MemoryStorage)');
61
+ // ── upload ──
62
+ cmd
63
+ .command('upload <file>')
64
+ .description('Store memory on-chain + update birth certificate (auto-immortalize)')
65
+ .option('--creator-key <key>', 'Creator private key (pays gas; overrides config / env)')
66
+ .option('--skip-immortalize', 'Skip the birth certificate updateMemory() call')
67
+ .option('--rpc <url>', 'Custom RPC URL')
68
+ .action(async (file, opts) => {
69
+ const filePath = path.resolve(file);
70
+ if (!fs.existsSync(filePath)) {
71
+ console.log(chalk_1.default.red(`File not found: ${filePath}`));
72
+ process.exit(1);
73
+ }
74
+ const config = (0, wallet_1.loadConfig)();
75
+ // Need creator key for gas
76
+ const creatorKey = (opts.creatorKey || config.creatorPrivateKey || process.env.CLAWCLICK_CREATOR_KEY);
77
+ if (!creatorKey) {
78
+ console.log(chalk_1.default.red('Creator private key required (pays gas)'));
79
+ console.log(chalk_1.default.dim(' Provide via --creator-key, config, or CLAWCLICK_CREATOR_KEY'));
80
+ process.exit(1);
81
+ }
82
+ // Need agent key for signing the memory content
83
+ const agentKey = config.agentPrivateKey;
84
+ if (!agentKey) {
85
+ console.log(chalk_1.default.red('Agent private key not found in config'));
86
+ console.log(chalk_1.default.dim(' Run `clawclick init` first to generate agent wallet'));
87
+ process.exit(1);
88
+ }
89
+ const text = fs.readFileSync(filePath, 'utf-8');
90
+ if (!text.trim()) {
91
+ console.log(chalk_1.default.red('File is empty'));
92
+ process.exit(1);
93
+ }
94
+ const spinner = (0, ora_1.default)('Storing memory on-chain...').start();
95
+ try {
96
+ const publicClient = (0, wallet_1.createReader)(config.network, opts.rpc);
97
+ const walletClient = (0, wallet_1.createWriter)(creatorKey, config.network, opts.rpc);
98
+ const txHash = await (0, chain_1.storeMemory)(publicClient, walletClient, config.network, config.agentWallet, agentKey, text);
99
+ spinner.succeed('Memory stored on-chain');
100
+ console.log(` Text: ${chalk_1.default.cyan(text.length > 80 ? text.slice(0, 80) + '…' : text)}`);
101
+ console.log(` Tx: ${chalk_1.default.dim(txHash)}`);
102
+ // Auto-update birth certificate (sets immortalized = true)
103
+ if (!opts.skipImmortalize) {
104
+ const immortalizeSpinner = (0, ora_1.default)('Updating birth certificate (immortalizing)...').start();
105
+ try {
106
+ const memoryCID = (0, viem_1.keccak256)(new TextEncoder().encode(text));
107
+ const agentWalletClient = (0, wallet_1.createWriter)(agentKey, config.network, opts.rpc);
108
+ // Check if agent wallet has enough ETH for gas — if not, fund it from creator
109
+ const agentBalance = await publicClient.getBalance({ address: config.agentWallet });
110
+ const minGas = (0, viem_1.parseEther)(AGENT_GAS_FUND);
111
+ if (agentBalance < minGas) {
112
+ const fundSpinner = (0, ora_1.default)(`Funding agent wallet with ${AGENT_GAS_FUND} ETH for gas...`).start();
113
+ try {
114
+ const chain = walletClient.chain;
115
+ const account = walletClient.account;
116
+ const fundTx = await walletClient.sendTransaction({
117
+ to: config.agentWallet,
118
+ value: minGas,
119
+ chain,
120
+ account,
121
+ });
122
+ await publicClient.waitForTransactionReceipt({ hash: fundTx });
123
+ fundSpinner.succeed(`Funded agent wallet with ${AGENT_GAS_FUND} ETH`);
124
+ console.log(` Fund Tx: ${chalk_1.default.dim(fundTx)}`);
125
+ }
126
+ catch (fundErr) {
127
+ fundSpinner.fail('Failed to fund agent wallet');
128
+ console.error(chalk_1.default.red(fundErr.message));
129
+ console.log(chalk_1.default.dim(` Manually send ETH to ${config.agentWallet} and run again`));
130
+ return;
131
+ }
132
+ }
133
+ const immortalizeTx = await (0, chain_1.updateBirthCertMemory)(publicClient, agentWalletClient, config.network, memoryCID);
134
+ immortalizeSpinner.succeed('Agent immortalized! 🔥');
135
+ console.log(` Birth cert Tx: ${chalk_1.default.dim(immortalizeTx)}`);
136
+ }
137
+ catch (err) {
138
+ immortalizeSpinner.fail('Birth certificate update failed');
139
+ console.error(chalk_1.default.red(err.message));
140
+ }
141
+ }
142
+ }
143
+ catch (err) {
144
+ spinner.fail('Memory upload failed');
145
+ console.error(chalk_1.default.red(err.message));
146
+ }
147
+ });
148
+ // ── list ──
149
+ cmd
150
+ .command('list')
151
+ .description('List all memory entries for this agent')
152
+ .option('--rpc <url>', 'Custom RPC URL')
153
+ .action(async (opts) => {
154
+ const config = (0, wallet_1.loadConfig)();
155
+ const spinner = (0, ora_1.default)('Fetching memory entries...').start();
156
+ try {
157
+ const client = (0, wallet_1.createReader)(config.network, opts.rpc);
158
+ const agentWallet = config.agentWallet;
159
+ const count = await (0, chain_1.getMemoryCount)(client, config.network, agentWallet);
160
+ spinner.succeed(`${count.toString()} memory entries`);
161
+ for (let i = 0n; i < count; i++) {
162
+ const mem = await (0, chain_1.getMemory)(client, config.network, agentWallet, i);
163
+ const preview = mem.fullText
164
+ ? (mem.fullText.length > 60 ? mem.fullText.slice(0, 60) + '…' : mem.fullText)
165
+ : mem.ipfsCID;
166
+ console.log(` [${i}] ${chalk_1.default.cyan(preview)} — ${new Date(Number(mem.timestamp) * 1000).toLocaleDateString()}`);
167
+ }
168
+ }
169
+ catch (err) {
170
+ spinner.fail('Failed to list memories');
171
+ console.error(chalk_1.default.red(err.message));
172
+ }
173
+ });
174
+ // ── get ──
175
+ cmd
176
+ .command('get <index>')
177
+ .description('Get a specific memory entry')
178
+ .option('--rpc <url>', 'Custom RPC URL')
179
+ .action(async (index, opts) => {
180
+ const config = (0, wallet_1.loadConfig)();
181
+ try {
182
+ const client = (0, wallet_1.createReader)(config.network, opts.rpc);
183
+ const agentWallet = config.agentWallet;
184
+ const mem = await (0, chain_1.getMemory)(client, config.network, agentWallet, BigInt(index));
185
+ console.log(` Timestamp: ${new Date(Number(mem.timestamp) * 1000).toLocaleString()}`);
186
+ if (mem.fullText) {
187
+ console.log(` Full text: ${chalk_1.default.cyan(mem.fullText)}`);
188
+ }
189
+ if (mem.ipfsCID) {
190
+ console.log(` CID/Hash: ${chalk_1.default.dim(mem.ipfsCID)}`);
191
+ }
192
+ console.log(` Content hash: ${chalk_1.default.dim(mem.contentHash)}`);
193
+ }
194
+ catch (err) {
195
+ console.error(chalk_1.default.red(err.message));
196
+ }
197
+ });
198
+ return cmd;
199
+ }
200
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/cli/commands/memory.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * `clawclick session` — Manage GPU compute sessions
3
+ *
4
+ * Subcommands:
5
+ * estimate — Get pricing estimate
6
+ * create — Spin up a compute session
7
+ * list — List all sessions
8
+ * get <id> — Get session details
9
+ * delete <id> — Terminate a session
10
+ * chat <id> — Interactive chat with a running session
11
+ */
12
+ import { Command } from 'commander';
13
+ export declare function sessionCommand(): Command;
14
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAWnC,wBAAgB,cAAc,IAAI,OAAO,CAsQxC"}