@nookplot/cli 0.6.54 → 0.6.55

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.
@@ -1,9 +1,8 @@
1
1
  /**
2
- * `nookplot rewards` — Check weekly reward earnings and claim on-chain NOOK.
2
+ * `nookplot rewards` — Check weekly reward earnings and epoch info.
3
3
  *
4
4
  * Usage:
5
- * nookplot rewards — Show your weekly reward earnings + claimable NOOK
6
- * nookplot rewards claim — Claim accrued Merkle NOOK reward on-chain
5
+ * nookplot rewards — Show your weekly reward earnings
7
6
  * nookplot rewards info — Current epoch info (time remaining, pool size)
8
7
  * nookplot rewards leaderboard — Weekly reward leaderboard
9
8
  *
@@ -11,77 +10,13 @@
11
10
  */
12
11
  import chalk from "chalk";
13
12
  import ora from "ora";
14
- import { ethers } from "ethers";
15
13
  import { loadConfig, validateConfig } from "../config.js";
16
14
  import { gatewayRequest, isGatewayError } from "../utils/http.js";
17
- // ── Helpers ──────────────────────────────────────────────────
18
- function requireWallet(config) {
19
- if (!config.privateKey) {
20
- console.error(chalk.red(" \u2717 Private key required. Set NOOKPLOT_AGENT_PRIVATE_KEY."));
21
- process.exit(1);
22
- }
23
- try {
24
- return new ethers.Wallet(config.privateKey);
25
- }
26
- catch {
27
- console.error(chalk.red(" \u2717 Invalid private key."));
28
- process.exit(1);
29
- }
30
- }
31
- async function prepareSignRelay(config, wallet, preparePath, body, spinner, actionLabel) {
32
- const attempt = async () => {
33
- // 1. Prepare
34
- const prepareResult = await gatewayRequest(config.gateway, "POST", preparePath, { apiKey: config.apiKey, body });
35
- if (isGatewayError(prepareResult)) {
36
- throw new Error(prepareResult.error);
37
- }
38
- // 2. Sign
39
- const { forwardRequest, domain, types } = prepareResult.data;
40
- const sig = await wallet.signTypedData(domain, types, forwardRequest);
41
- // 3. Relay
42
- const relayResult = await gatewayRequest(config.gateway, "POST", "/v1/relay", { apiKey: config.apiKey, body: { ...forwardRequest, signature: sig } });
43
- if (isGatewayError(relayResult)) {
44
- throw new Error(relayResult.error);
45
- }
46
- return relayResult.data;
47
- };
48
- try {
49
- return await attempt();
50
- }
51
- catch (err) {
52
- const message = err instanceof Error ? err.message : String(err);
53
- if (message.includes("signature verification failed") || message.includes("nonce")) {
54
- spinner.text = `Nonce conflict on ${actionLabel}, retrying\u2026`;
55
- return await attempt();
56
- }
57
- throw err;
58
- }
59
- }
60
- /**
61
- * Format a raw 18-decimal token amount into a human-readable string.
62
- * e.g. "173678874000000000000000" → "173,678.874"
63
- */
64
- function formatTokenAmount(raw) {
65
- try {
66
- const formatted = ethers.formatEther(raw);
67
- const [whole, decimals] = formatted.split(".");
68
- const wholeFormatted = Number(whole).toLocaleString("en-US");
69
- if (!decimals || decimals === "0")
70
- return wholeFormatted;
71
- // Trim trailing zeros, keep up to 4 decimal places
72
- const trimmed = decimals.slice(0, 4).replace(/0+$/, "");
73
- return trimmed ? `${wholeFormatted}.${trimmed}` : wholeFormatted;
74
- }
75
- catch {
76
- return raw;
77
- }
78
- }
79
- // ── Command Registration ─────────────────────────────────────
80
15
  export function registerRewardsCommand(program) {
81
16
  const cmd = program
82
17
  .command("rewards")
83
- .description("Check weekly reward earnings, claim on-chain NOOK");
84
- // Default: show my rewards + Merkle claimable
18
+ .description("Check weekly reward earnings and epoch info");
19
+ // Default: show my rewards
85
20
  cmd.action(async () => {
86
21
  try {
87
22
  await runMyRewards(program.opts());
@@ -92,22 +27,6 @@ export function registerRewardsCommand(program) {
92
27
  process.exit(1);
93
28
  }
94
29
  });
95
- // Subcommand: claim on-chain NOOK
96
- cmd
97
- .command("claim")
98
- .description("Claim accrued Merkle NOOK reward on-chain (prepare \u2192 sign \u2192 relay)")
99
- .option("--pool <pool>", "Reward pool: nook or weth", "nook")
100
- .option("--json", "Output raw JSON")
101
- .action(async (opts) => {
102
- try {
103
- await runClaim(program.opts(), opts);
104
- }
105
- catch (err) {
106
- const msg = err instanceof Error ? err.message : String(err);
107
- console.error(chalk.red(`\nFailed: ${msg}`));
108
- process.exit(1);
109
- }
110
- });
111
30
  // Subcommand: epoch info
112
31
  cmd
113
32
  .command("info")
@@ -140,7 +59,6 @@ export function registerRewardsCommand(program) {
140
59
  }
141
60
  });
142
61
  }
143
- // ── Subcommand Implementations ───────────────────────────────
144
62
  async function runMyRewards(globalOpts) {
145
63
  const config = loadConfig({
146
64
  configPath: globalOpts.config,
@@ -150,108 +68,28 @@ async function runMyRewards(globalOpts) {
150
68
  const errors = validateConfig(config);
151
69
  if (errors.length > 0) {
152
70
  for (const e of errors)
153
- console.error(chalk.red(` \u2717 ${e}`));
71
+ console.error(chalk.red(` ${e}`));
154
72
  process.exit(1);
155
73
  }
156
- const spinner = ora("Loading rewards...").start();
157
- // Fetch both off-chain weekly credits AND on-chain Merkle claimable in parallel
158
- const address = config.privateKey
159
- ? new ethers.Wallet(config.privateKey).address
160
- : null;
161
- const [weeklyResult, merkleResult] = await Promise.all([
162
- gatewayRequest(config.gateway, "GET", "/v1/rewards/weekly/me?limit=10", { apiKey: config.apiKey }),
163
- address
164
- ? gatewayRequest(config.gateway, "GET", `/v1/rewards/merkle/claimable/${address}`, { apiKey: config.apiKey })
165
- : Promise.resolve(null),
166
- ]);
167
- spinner.succeed("Rewards");
168
- // ── On-chain NOOK claimable ──
169
- const merkle = merkleResult && !isGatewayError(merkleResult) ? merkleResult.data : null;
170
- const hasNook = merkle?.nook && merkle.nook.cumulativeAmount !== "0";
171
- const hasWeth = merkle?.weth && merkle.weth.cumulativeAmount !== "0";
172
- if (hasNook || hasWeth) {
173
- console.log(chalk.bold("\n On-Chain Claimable:"));
174
- if (hasNook) {
175
- const amt = formatTokenAmount(merkle.nook.cumulativeAmount);
176
- console.log(` NOOK: ${chalk.green.bold(amt)} $NOOK`);
177
- }
178
- if (hasWeth) {
179
- const amt = formatTokenAmount(merkle.weth.cumulativeAmount);
180
- console.log(` WETH: ${chalk.green.bold(amt)} WETH`);
181
- }
182
- console.log(chalk.dim(` Claim with: ${chalk.white("nookplot rewards claim")}`));
183
- }
184
- // ── Off-chain weekly credits ──
185
- if (isGatewayError(weeklyResult)) {
186
- console.log(chalk.dim("\n Weekly credit epochs: unable to load.\n"));
187
- }
188
- else {
189
- const { rewards } = weeklyResult.data;
190
- if (rewards.length === 0) {
191
- if (!hasNook && !hasWeth) {
192
- console.log(chalk.dim("\n No reward epochs found yet.\n"));
193
- }
194
- else {
195
- console.log("");
196
- }
197
- }
198
- else {
199
- console.log(chalk.bold("\n Weekly Credit Rewards:"));
200
- for (const r of rewards) {
201
- const status = r.claimed ? chalk.dim("claimed") : chalk.green("claimable");
202
- const amount = chalk.bold(`${r.rewardDisplay} credits`);
203
- const tier = chalk.cyan(r.tier);
204
- console.log(` Epoch ${r.epoch} ${tier} ${amount} (score: ${r.score}) ${status}`);
205
- }
206
- console.log("");
207
- }
208
- }
209
- if (!hasNook && !hasWeth && !isGatewayError(weeklyResult) && weeklyResult.data.rewards.length > 0) {
210
- console.log("");
211
- }
212
- }
213
- async function runClaim(globalOpts, cmdOpts) {
214
- const config = loadConfig({
215
- configPath: globalOpts.config,
216
- gatewayOverride: globalOpts.gateway,
217
- apiKeyOverride: globalOpts.apiKey,
218
- });
219
- const errors = validateConfig(config);
220
- if (errors.length > 0) {
221
- for (const e of errors)
222
- console.error(chalk.red(` \u2717 ${e}`));
223
- process.exit(1);
224
- }
225
- const pool = cmdOpts.pool ?? "nook";
226
- if (pool !== "nook" && pool !== "weth") {
227
- console.error(chalk.red(` \u2717 Invalid pool "${pool}". Must be "nook" or "weth".`));
228
- process.exit(1);
229
- }
230
- const wallet = requireWallet(config);
231
- const spinner = ora(`Checking ${pool.toUpperCase()} claimable amount...`).start();
232
- // Check claimable first
233
- const claimable = await gatewayRequest(config.gateway, "GET", `/v1/rewards/merkle/claimable/${wallet.address}`, { apiKey: config.apiKey });
234
- if (isGatewayError(claimable)) {
235
- spinner.fail("Failed to check claimable amount");
236
- console.error(chalk.red(` ${claimable.error}`));
74
+ const spinner = ora("Loading weekly rewards...").start();
75
+ const result = await gatewayRequest(config.gateway, "GET", "/v1/rewards/weekly/me?limit=10", { apiKey: config.apiKey });
76
+ if (isGatewayError(result)) {
77
+ spinner.fail("Failed to load rewards");
78
+ console.error(chalk.red(` ${result.error}`));
237
79
  process.exit(1);
238
80
  }
239
- const poolData = pool === "nook" ? claimable.data.nook : claimable.data.weth;
240
- if (!poolData || poolData.cumulativeAmount === "0") {
241
- spinner.fail(`No ${pool.toUpperCase()} rewards to claim`);
242
- console.log(chalk.dim(" Your Merkle reward balance is zero for this pool."));
243
- process.exit(0);
244
- }
245
- const amt = formatTokenAmount(poolData.cumulativeAmount);
246
- spinner.text = `Claiming ${amt} $${pool.toUpperCase()} on-chain...`;
247
- // Prepare → Sign → Relay
248
- const result = await prepareSignRelay(config, wallet, "/v1/prepare/reward/claim", { pool }, spinner, "reward-claim");
249
- spinner.succeed(`Claimed ${chalk.green.bold(amt)} $${pool.toUpperCase()}`);
250
- if (cmdOpts.json) {
251
- console.log(JSON.stringify(result, null, 2));
81
+ const { rewards } = result.data;
82
+ spinner.succeed("Weekly Rewards");
83
+ if (rewards.length === 0) {
84
+ console.log(chalk.dim("\n No reward epochs found yet.\n"));
85
+ return;
252
86
  }
253
- else {
254
- console.log(` TX: ${chalk.dim(result.txHash)}`);
87
+ console.log("");
88
+ for (const r of rewards) {
89
+ const status = r.claimed ? chalk.dim("claimed") : chalk.green("claimable");
90
+ const amount = chalk.bold(`${r.rewardDisplay} credits`);
91
+ const tier = chalk.cyan(r.tier);
92
+ console.log(` Epoch ${r.epoch} ${tier} ${amount} (score: ${r.score}) ${status}`);
255
93
  }
256
94
  console.log("");
257
95
  }
@@ -264,7 +102,7 @@ async function runEpochInfo(globalOpts, cmdOpts) {
264
102
  const errors = validateConfig(config);
265
103
  if (errors.length > 0) {
266
104
  for (const e of errors)
267
- console.error(chalk.red(` \u2717 ${e}`));
105
+ console.error(chalk.red(` ${e}`));
268
106
  process.exit(1);
269
107
  }
270
108
  const spinner = ora("Loading epoch info...").start();
@@ -297,7 +135,7 @@ async function runLeaderboard(globalOpts, cmdOpts) {
297
135
  const errors = validateConfig(config);
298
136
  if (errors.length > 0) {
299
137
  for (const e of errors)
300
- console.error(chalk.red(` \u2717 ${e}`));
138
+ console.error(chalk.red(` ${e}`));
301
139
  process.exit(1);
302
140
  }
303
141
  const limit = Math.min(Math.max(parseInt(cmdOpts.limit ?? "25", 10) || 25, 1), 100);
@@ -321,7 +159,7 @@ async function runLeaderboard(globalOpts, cmdOpts) {
321
159
  console.log("");
322
160
  for (let i = 0; i < entries.length; i++) {
323
161
  const e = entries[i];
324
- const name = e.display_name ?? e.agent_id.slice(0, 10) + "\u2026";
162
+ const name = e.display_name ?? e.agent_id.slice(0, 10) + "";
325
163
  const reward = ((e.reward_credits || 0) / 100).toFixed(2);
326
164
  console.log(` ${chalk.dim(`#${i + 1}`)} ${chalk.bold(name)} ${chalk.cyan(e.tier)} ${e.score} pts ${chalk.green(reward + " credits")}`);
327
165
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rewards.js","sourceRoot":"","sources":["../../src/commands/rewards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rewards.js","sourceRoot":"","sources":["../../src/commands/rewards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAsClE,MAAM,UAAU,sBAAsB,CAAC,OAAgB;IACrD,MAAM,GAAG,GAAG,OAAO;SAChB,OAAO,CAAC,SAAS,CAAC;SAClB,WAAW,CAAC,6CAA6C,CAAC,CAAC;IAE9D,2BAA2B;IAC3B,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACpB,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QACrC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,GAAG;SACA,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,0BAA0B;IAC1B,GAAG;SACA,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,aAAa,EAAE,aAAa,EAAE,IAAI,CAAC;SAC1C,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC;SACnC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACrB,IAAI,CAAC;YACH,MAAM,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC7D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC,CAAC,CAAC;YAC7C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,UAAkE;IAElE,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,eAAe,EAAE,UAAU,CAAC,OAAO;QACnC,cAAc,EAAE,UAAU,CAAC,MAAM;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,gCAAgC,EACvD,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAC1B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IAChC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAC5D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,UAAU,CAAC,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,MAAM,aAAa,CAAC,CAAC,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,YAAY,CACzB,UAAkE,EAClE,OAA2B;IAE3B,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,eAAe,EAAE,UAAU,CAAC,OAAO;QACnC,cAAc,EAAE,UAAU,CAAC,MAAM;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrD,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,4BAA4B,EACnD,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAC1B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAEjC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,gBAAgB,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,mBAAmB,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,cAAc,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,UAAkE,EAClE,OAA2C;IAE3C,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,UAAU,EAAE,UAAU,CAAC,MAAM;QAC7B,eAAe,EAAE,UAAU,CAAC,OAAO;QACnC,cAAc,EAAE,UAAU,CAAC,MAAM;KAClC,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACtC,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,MAAM;YAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,GAAG,CAAC,+BAA+B,CAAC,CAAC,KAAK,EAAE,CAAC;IAC7D,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,wCAAwC,KAAK,EAAE,EACtE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAC1B,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAEtC,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;IACxC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACzD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACrB,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC;QAC7D,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;IAC7I,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -357,12 +357,11 @@ export function getAvailableActions(signalType) {
357
357
  "link_project_to_guild", "propose_guild", "deploy_preview",
358
358
  "egress_request", "execute_tool", "call_mcp_tool", "register_webhook",
359
359
  "workspace_create", "publish_insight",
360
- "create_intent", "browse_intents", "browse_feed",
361
- "report_clawnch_launch", "get_token_analytics",
360
+ "create_intent", "browse_intents",
361
+ "launch_token", "preview_token_launch",
362
362
  "search_skills", "install_skill", "store_memory", "recall_memory",
363
363
  "propose_teaching", "search_teachers",
364
364
  "credit_hire",
365
- "block_agent", "unblock_agent", "report_content",
366
365
  "ignore",
367
366
  ];
368
367
  case "channel_message":
@@ -374,9 +373,8 @@ export function getAvailableActions(signalType) {
374
373
  "create_task", "link_project_to_guild", "propose_guild",
375
374
  "egress_request", "execute_tool", "call_mcp_tool",
376
375
  "workspace_create", "publish_insight",
377
- "create_intent", "browse_intents", "browse_feed",
376
+ "create_intent", "browse_intents",
378
377
  "search_skills", "install_skill", "store_memory",
379
- "block_agent", "unblock_agent", "report_content",
380
378
  "ignore",
381
379
  ];
382
380
  case "new_follower":
@@ -387,7 +385,7 @@ export function getAvailableActions(signalType) {
387
385
  return ["endorse_agent", "attest_back", "send_dm", "ignore"];
388
386
  case "files_committed":
389
387
  case "pending_review":
390
- return ["review", "comment", "request_ai_review", "ignore"];
388
+ return ["review", "comment", "request_ai_review", "list_project_files", "read_project_file", "list_commits", "get_commit_detail", "ignore"];
391
389
  case "review_submitted":
392
390
  return ["reply", "ignore"];
393
391
  case "collaborator_added":
@@ -395,7 +393,7 @@ export function getAvailableActions(signalType) {
395
393
  case "new_post_in_community":
396
394
  case "post_reply":
397
395
  case "reply_to_own_post":
398
- return ["reply", "post_reply", "vote", "publish", "block_agent", "report_content", "ignore"];
396
+ return ["reply", "post_reply", "vote", "publish", "ignore"];
399
397
  case "bounty":
400
398
  return ["claim", "apply_bounty", "create_bounty", "reply", "ignore"];
401
399
  case "community_gap":
@@ -419,9 +417,9 @@ export function getAvailableActions(signalType) {
419
417
  "deposit_treasury", "withdraw_treasury", "fund_bounty_from_treasury", "distribute_revenue",
420
418
  "create_swarm", "claim_subtask", "submit_swarm_result", "aggregate_swarm",
421
419
  "record_gap", "update_proficiency", "generate_recommendations",
422
- "create_intent", "browse_intents", "browse_feed", "submit_proposal", "accept_proposal", "reject_proposal",
420
+ "create_intent", "browse_intents", "submit_proposal", "accept_proposal", "reject_proposal",
423
421
  "cancel_intent", "complete_intent", "withdraw_proposal", "query_oracle",
424
- "report_clawnch_launch", "get_token_analytics",
422
+ "launch_token", "preview_token_launch", "claim_clawnch_fees", "get_token_analytics",
425
423
  "create_search_subscription",
426
424
  "send_email", "reply_email", "check_email", "create_email_inbox",
427
425
  "search_skills", "publish_skill", "install_skill", "review_skill", "update_skill", "trending_skills",
@@ -431,7 +429,8 @@ export function getAvailableActions(signalType) {
431
429
  "credit_hire", "accept_credit_agreement", "deliver_credit_work", "complete_credit_agreement", "cancel_credit_agreement",
432
430
  "claim_reward",
433
431
  "endorse_agent", "revoke_endorsement",
434
- "block_agent", "unblock_agent", "report_content",
432
+ "block_agent", "unblock_agent",
433
+ "list_project_files", "read_project_file", "list_commits", "get_commit_detail",
435
434
  "ignore",
436
435
  ];
437
436
  case "collab_request":
@@ -626,17 +625,6 @@ export async function executeAgentAction(runtime, action, signal, log) {
626
625
  await runtime.social.unblock(target);
627
626
  }
628
627
  break;
629
- case "report_content": {
630
- const reportCid = (action.cid ?? action.contentId);
631
- const reportReason = action.reason || "spam";
632
- const reportDetails = action.details;
633
- if (reportCid) {
634
- await runtime.social.reportContent?.(reportCid, reportReason, reportDetails)
635
- ?? runtime.connection.request("POST", `/v1/content/${encodeURIComponent(reportCid)}/report`, { reason: reportReason, ...(reportDetails ? { details: reportDetails } : {}) });
636
- log(`[reactive] Reported content ${reportCid} (${reportReason})`);
637
- }
638
- break;
639
- }
640
628
  case "vote":
641
629
  if (action.cid) {
642
630
  await runtime.memory.vote({ cid: action.cid, type: (action.voteType || "up") });
@@ -799,6 +787,42 @@ export async function executeAgentAction(runtime, action, signal, log) {
799
787
  }
800
788
  break;
801
789
  }
790
+ case "list_project_files": {
791
+ const projId = (action.projectId || signal.projectId);
792
+ if (projId) {
793
+ const files = await runtime.projects.listFiles(projId);
794
+ log(`[reactive] Listed ${files.length} files in project ${projId}`);
795
+ }
796
+ break;
797
+ }
798
+ case "read_project_file": {
799
+ const projId = (action.projectId || signal.projectId);
800
+ const filePath = action.filePath;
801
+ if (projId && filePath) {
802
+ const fileContent = await runtime.projects.readFile(projId, filePath);
803
+ log(`[reactive] Read file ${filePath} from project ${projId}`);
804
+ }
805
+ break;
806
+ }
807
+ case "list_commits": {
808
+ const projId = (action.projectId || signal.projectId);
809
+ if (projId) {
810
+ const limit = action.limit ?? 20;
811
+ const offset = action.offset ?? 0;
812
+ const commits = await runtime.projects.listCommits(projId, limit, offset);
813
+ log(`[reactive] Listed ${commits.length} commits in project ${projId}`);
814
+ }
815
+ break;
816
+ }
817
+ case "get_commit_detail": {
818
+ const projId = (action.projectId || signal.projectId);
819
+ const commitId = action.commitId;
820
+ if (projId && commitId) {
821
+ const commit = await runtime.projects.getCommit(projId, commitId);
822
+ log(`[reactive] Got commit detail ${commitId} from project ${projId}`);
823
+ }
824
+ break;
825
+ }
802
826
  case "add_collaborator": {
803
827
  const projId = (action.projectId || signal.projectId);
804
828
  const collabAddr = (action.collaboratorAddress || target);
@@ -1479,20 +1503,6 @@ export async function executeAgentAction(runtime, action, signal, log) {
1479
1503
  log(`[reactive] Found ${browseRes.total} intents`);
1480
1504
  break;
1481
1505
  }
1482
- case "browse_feed": {
1483
- const feedRes = await runtime.discovery.browseFeed({
1484
- community: action.community,
1485
- sort: (action.sort || "hot"),
1486
- limit: action.limit || 20,
1487
- followingOnly: action.followingOnly === true,
1488
- minScore: action.minScore,
1489
- minReputation: action.minReputation,
1490
- excludeTags: action.excludeTags,
1491
- raw: action.raw === true,
1492
- });
1493
- log(`[reactive] Loaded feed: ${feedRes.contents ? feedRes.contents.length : 0} posts`);
1494
- break;
1495
- }
1496
1506
  case "submit_proposal": {
1497
1507
  const spIntentId = action.intentId;
1498
1508
  if (spIntentId) {
@@ -1585,14 +1595,23 @@ export async function executeAgentAction(runtime, action, signal, log) {
1585
1595
  break;
1586
1596
  }
1587
1597
  // ── Clawnch Token Launching ──
1588
- case "report_clawnch_launch": {
1589
- const reportRes = await runtime.connection.request("POST", "/v1/clawnch/report-launch", {
1590
- tokenName: action.tokenName, tokenTicker: action.tokenTicker,
1591
- tokenAddress: action.tokenAddress, poolAddress: action.poolAddress,
1592
- description: action.description || action.content, imageUrl: action.imageUrl,
1593
- protocolFeeSharePct: action.protocolFeeSharePct,
1594
- });
1595
- log(`[reactive] Reported Clawnch launch: ${reportRes?.tokenAddress ?? "done"}`);
1598
+ case "preview_token_launch": {
1599
+ const prevRes = await runtime.connection.request("POST", "/v1/clawnch/preview", { tokenName: action.tokenName, tokenTicker: action.tokenTicker, description: action.description || action.content, imageUrl: action.imageUrl });
1600
+ log(`[reactive] Token preview: ${prevRes?.launch ? "OK" : "done"}`);
1601
+ break;
1602
+ }
1603
+ case "launch_token": {
1604
+ const launchRes = await runtime.connection.request("POST", "/v1/clawnch/launch", { tokenName: action.tokenName, tokenTicker: action.tokenTicker, description: action.description || action.content, imageUrl: action.imageUrl });
1605
+ const tokenAddr = launchRes?.launch;
1606
+ log(`[reactive] Launched token ${tokenAddr?.token_address ?? "pending"}`);
1607
+ break;
1608
+ }
1609
+ case "claim_clawnch_fees": {
1610
+ const claimAddr = action.tokenAddress;
1611
+ if (claimAddr) {
1612
+ const claimRes = await runtime.connection.request("POST", "/v1/clawnch/claim-fees", { tokenAddress: claimAddr });
1613
+ log(`[reactive] Claimed fees for ${claimAddr.slice(0, 10)}...`);
1614
+ }
1596
1615
  break;
1597
1616
  }
1598
1617
  case "get_token_analytics": {