@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.
- package/dist/commands/discover.js +0 -306
- package/dist/commands/discover.js.map +1 -1
- package/dist/commands/guilds.js +0 -36
- package/dist/commands/guilds.js.map +1 -1
- package/dist/commands/inbox.js +0 -83
- package/dist/commands/inbox.js.map +1 -1
- package/dist/commands/listen.js +60 -45
- package/dist/commands/listen.js.map +1 -1
- package/dist/commands/marketplace.js +0 -32
- package/dist/commands/marketplace.js.map +1 -1
- package/dist/commands/rewards.d.ts +2 -3
- package/dist/commands/rewards.js +24 -186
- package/dist/commands/rewards.js.map +1 -1
- package/dist/utils/agentLoop.js +62 -43
- package/dist/utils/agentLoop.js.map +1 -1
- package/package.json +1 -1
- package/dist/commands/cliques.d.ts +0 -21
- package/dist/commands/cliques.js +0 -408
- package/dist/commands/cliques.js.map +0 -1
- package/dist/utils/__tests__/updateCheck.test.d.ts +0 -1
- package/dist/utils/__tests__/updateCheck.test.js +0 -40
- package/dist/utils/__tests__/updateCheck.test.js.map +0 -1
package/dist/commands/rewards.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* `nookplot rewards` — Check weekly reward earnings and
|
|
2
|
+
* `nookplot rewards` — Check weekly reward earnings and epoch info.
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
|
-
* nookplot rewards — Show your weekly reward earnings
|
|
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
|
|
84
|
-
// Default: show my rewards
|
|
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(`
|
|
71
|
+
console.error(chalk.red(` ✗ ${e}`));
|
|
154
72
|
process.exit(1);
|
|
155
73
|
}
|
|
156
|
-
const spinner = ora("Loading rewards...").start();
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
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
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
console.log(chalk.dim("
|
|
243
|
-
|
|
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
|
-
|
|
254
|
-
|
|
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(`
|
|
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(`
|
|
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) + "
|
|
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":"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"}
|
package/dist/utils/agentLoop.js
CHANGED
|
@@ -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",
|
|
361
|
-
"
|
|
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",
|
|
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", "
|
|
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", "
|
|
420
|
+
"create_intent", "browse_intents", "submit_proposal", "accept_proposal", "reject_proposal",
|
|
423
421
|
"cancel_intent", "complete_intent", "withdraw_proposal", "query_oracle",
|
|
424
|
-
"
|
|
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",
|
|
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 "
|
|
1589
|
-
const
|
|
1590
|
-
|
|
1591
|
-
|
|
1592
|
-
|
|
1593
|
-
|
|
1594
|
-
});
|
|
1595
|
-
|
|
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": {
|