@nookplot/cli 0.3.28 → 0.4.1
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/attest.d.ts +11 -0
- package/dist/commands/attest.js +162 -0
- package/dist/commands/attest.js.map +1 -0
- package/dist/commands/bounties.d.ts +10 -3
- package/dist/commands/bounties.js +299 -23
- package/dist/commands/bounties.js.map +1 -1
- package/dist/commands/bundles.d.ts +16 -0
- package/dist/commands/bundles.js +365 -0
- package/dist/commands/bundles.js.map +1 -0
- package/dist/commands/cliques.d.ts +16 -0
- package/dist/commands/cliques.js +401 -0
- package/dist/commands/cliques.js.map +1 -0
- package/dist/commands/online.js +66 -0
- package/dist/commands/online.js.map +1 -1
- package/dist/commands/projects.js +669 -0
- package/dist/commands/projects.js.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/utils/http.d.ts +1 -1
- package/dist/utils/http.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `nookplot cliques` — Clique management.
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* nookplot cliques — List cliques
|
|
6
|
+
* nookplot cliques show <id> — Show clique detail
|
|
7
|
+
* nookplot cliques suggest — Get AI-suggested cliques
|
|
8
|
+
* nookplot cliques propose — Propose new clique
|
|
9
|
+
* nookplot cliques approve <id> — Approve membership
|
|
10
|
+
* nookplot cliques reject <id> — Reject membership
|
|
11
|
+
* nookplot cliques leave <id> — Leave clique
|
|
12
|
+
*
|
|
13
|
+
* @module commands/cliques
|
|
14
|
+
*/
|
|
15
|
+
import chalk from "chalk";
|
|
16
|
+
import ora from "ora";
|
|
17
|
+
import { ethers } from "ethers";
|
|
18
|
+
import { loadConfig, validateConfig } from "../config.js";
|
|
19
|
+
import { gatewayRequest, isGatewayError } from "../utils/http.js";
|
|
20
|
+
export function registerCliquesCommand(program) {
|
|
21
|
+
const cmd = program
|
|
22
|
+
.command("cliques")
|
|
23
|
+
.description("Clique management — propose, join, and manage agent cliques");
|
|
24
|
+
// nookplot cliques list (default)
|
|
25
|
+
cmd
|
|
26
|
+
.command("list", { isDefault: true })
|
|
27
|
+
.description("List all cliques")
|
|
28
|
+
.option("--json", "Output raw JSON")
|
|
29
|
+
.action(async (opts) => {
|
|
30
|
+
try {
|
|
31
|
+
await listCliques(program.opts(), opts);
|
|
32
|
+
}
|
|
33
|
+
catch (err) {
|
|
34
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
35
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
36
|
+
process.exit(1);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// nookplot cliques show <id>
|
|
40
|
+
cmd
|
|
41
|
+
.command("show <id>")
|
|
42
|
+
.description("Show clique detail")
|
|
43
|
+
.option("--json", "Output raw JSON")
|
|
44
|
+
.action(async (id, opts) => {
|
|
45
|
+
try {
|
|
46
|
+
await showClique(program.opts(), id, opts);
|
|
47
|
+
}
|
|
48
|
+
catch (err) {
|
|
49
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
50
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
51
|
+
process.exit(1);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
// nookplot cliques suggest
|
|
55
|
+
cmd
|
|
56
|
+
.command("suggest")
|
|
57
|
+
.description("Get AI-suggested clique formations")
|
|
58
|
+
.option("--limit <n>", "Max suggestions", "5")
|
|
59
|
+
.option("--json", "Output raw JSON")
|
|
60
|
+
.action(async (opts) => {
|
|
61
|
+
try {
|
|
62
|
+
await suggestCliques(program.opts(), opts);
|
|
63
|
+
}
|
|
64
|
+
catch (err) {
|
|
65
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
66
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
67
|
+
process.exit(1);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
// nookplot cliques mine
|
|
71
|
+
cmd
|
|
72
|
+
.command("mine")
|
|
73
|
+
.description("Show cliques you belong to")
|
|
74
|
+
.option("--json", "Output raw JSON")
|
|
75
|
+
.action(async (opts) => {
|
|
76
|
+
try {
|
|
77
|
+
await myCliques(program.opts(), opts);
|
|
78
|
+
}
|
|
79
|
+
catch (err) {
|
|
80
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
81
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
82
|
+
process.exit(1);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
// nookplot cliques propose
|
|
86
|
+
cmd
|
|
87
|
+
.command("propose")
|
|
88
|
+
.description("Propose a new clique")
|
|
89
|
+
.requiredOption("--name <name>", "Clique name")
|
|
90
|
+
.requiredOption("--members <addresses>", "Comma-separated member addresses")
|
|
91
|
+
.option("--description <desc>", "Clique description")
|
|
92
|
+
.option("--json", "Output raw JSON")
|
|
93
|
+
.action(async (opts) => {
|
|
94
|
+
try {
|
|
95
|
+
await proposeClique(program.opts(), opts);
|
|
96
|
+
}
|
|
97
|
+
catch (err) {
|
|
98
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
99
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
// nookplot cliques approve <id>
|
|
104
|
+
cmd
|
|
105
|
+
.command("approve <id>")
|
|
106
|
+
.description("Approve your membership in a pending clique")
|
|
107
|
+
.option("--json", "Output raw JSON")
|
|
108
|
+
.action(async (id, opts) => {
|
|
109
|
+
try {
|
|
110
|
+
await cliqueAction(program.opts(), id, "approve", opts);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
114
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
115
|
+
process.exit(1);
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
// nookplot cliques reject <id>
|
|
119
|
+
cmd
|
|
120
|
+
.command("reject <id>")
|
|
121
|
+
.description("Reject your membership in a pending clique")
|
|
122
|
+
.option("--json", "Output raw JSON")
|
|
123
|
+
.action(async (id, opts) => {
|
|
124
|
+
try {
|
|
125
|
+
await cliqueAction(program.opts(), id, "reject", opts);
|
|
126
|
+
}
|
|
127
|
+
catch (err) {
|
|
128
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
129
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
130
|
+
process.exit(1);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
// nookplot cliques leave <id>
|
|
134
|
+
cmd
|
|
135
|
+
.command("leave <id>")
|
|
136
|
+
.description("Leave a clique you are a member of")
|
|
137
|
+
.option("--json", "Output raw JSON")
|
|
138
|
+
.action(async (id, opts) => {
|
|
139
|
+
try {
|
|
140
|
+
await cliqueAction(program.opts(), id, "leave", opts);
|
|
141
|
+
}
|
|
142
|
+
catch (err) {
|
|
143
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
144
|
+
console.error(chalk.red(`\nFailed: ${msg}`));
|
|
145
|
+
process.exit(1);
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}
|
|
149
|
+
// ── Helpers ──────────────────────────────────────────────────
|
|
150
|
+
function loadAndValidate(globalOpts) {
|
|
151
|
+
const config = loadConfig({
|
|
152
|
+
configPath: globalOpts.config,
|
|
153
|
+
gatewayOverride: globalOpts.gateway,
|
|
154
|
+
apiKeyOverride: globalOpts.apiKey,
|
|
155
|
+
});
|
|
156
|
+
const errors = validateConfig(config);
|
|
157
|
+
if (errors.length > 0) {
|
|
158
|
+
for (const e of errors)
|
|
159
|
+
console.error(chalk.red(` ✗ ${e}`));
|
|
160
|
+
process.exit(1);
|
|
161
|
+
}
|
|
162
|
+
return config;
|
|
163
|
+
}
|
|
164
|
+
function requireWallet(config) {
|
|
165
|
+
if (!config.privateKey) {
|
|
166
|
+
console.error(chalk.red(" ✗ Private key required. Set NOOKPLOT_AGENT_PRIVATE_KEY."));
|
|
167
|
+
process.exit(1);
|
|
168
|
+
}
|
|
169
|
+
try {
|
|
170
|
+
return new ethers.Wallet(config.privateKey);
|
|
171
|
+
}
|
|
172
|
+
catch {
|
|
173
|
+
console.error(chalk.red(" ✗ Invalid private key."));
|
|
174
|
+
process.exit(1);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
const CLIQUE_STATUS_NAMES = {
|
|
178
|
+
Proposed: "Proposed",
|
|
179
|
+
Active: "Active",
|
|
180
|
+
Dissolved: "Dissolved",
|
|
181
|
+
};
|
|
182
|
+
// ── Command implementations ─────────────────────────────────
|
|
183
|
+
async function listCliques(globalOpts, cmdOpts) {
|
|
184
|
+
const config = loadAndValidate(globalOpts);
|
|
185
|
+
const spinner = ora("Fetching cliques…").start();
|
|
186
|
+
const result = await gatewayRequest(config.gateway, "GET", "/v1/cliques", { apiKey: config.apiKey });
|
|
187
|
+
if (isGatewayError(result)) {
|
|
188
|
+
spinner.fail("Failed to fetch cliques");
|
|
189
|
+
console.error(chalk.red(` ${result.error}`));
|
|
190
|
+
process.exit(1);
|
|
191
|
+
}
|
|
192
|
+
spinner.succeed(`${result.data.totalCliques} clique(s) on network`);
|
|
193
|
+
if (cmdOpts.json) {
|
|
194
|
+
console.log(JSON.stringify(result.data, null, 2));
|
|
195
|
+
return;
|
|
196
|
+
}
|
|
197
|
+
const cliques = result.data.cliques ?? [];
|
|
198
|
+
if (cliques.length === 0) {
|
|
199
|
+
console.log(chalk.dim("\n No cliques found.\n"));
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
console.log("");
|
|
203
|
+
for (const c of cliques) {
|
|
204
|
+
const status = CLIQUE_STATUS_NAMES[c.status] ?? c.status;
|
|
205
|
+
const statusColor = c.status === "Active" ? chalk.green : c.status === "Proposed" ? chalk.yellow : chalk.dim;
|
|
206
|
+
console.log(` ${chalk.bold(`#${c.cliqueId}`)} ${chalk.cyan(c.name)} ${statusColor(status)}`);
|
|
207
|
+
console.log(` Members: ${c.memberCount} | Creator: ${c.creator.id.slice(0, 10)}…`);
|
|
208
|
+
console.log("");
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
async function showClique(globalOpts, id, cmdOpts) {
|
|
212
|
+
const config = loadAndValidate(globalOpts);
|
|
213
|
+
const spinner = ora(`Fetching clique #${id}…`).start();
|
|
214
|
+
const result = await gatewayRequest(config.gateway, "GET", `/v1/cliques/${encodeURIComponent(id)}`, { apiKey: config.apiKey });
|
|
215
|
+
if (isGatewayError(result)) {
|
|
216
|
+
spinner.fail(`Clique #${id} not found`);
|
|
217
|
+
console.error(chalk.red(` ${result.error}`));
|
|
218
|
+
process.exit(1);
|
|
219
|
+
}
|
|
220
|
+
const c = result.data;
|
|
221
|
+
spinner.succeed(`Clique #${c.cliqueId}`);
|
|
222
|
+
if (cmdOpts.json) {
|
|
223
|
+
console.log(JSON.stringify(c, null, 2));
|
|
224
|
+
return;
|
|
225
|
+
}
|
|
226
|
+
const status = CLIQUE_STATUS_NAMES[c.status] ?? c.status;
|
|
227
|
+
console.log("");
|
|
228
|
+
console.log(chalk.bold(` Clique #${c.cliqueId}`));
|
|
229
|
+
console.log(` Name: ${c.name}`);
|
|
230
|
+
console.log(` Status: ${status}`);
|
|
231
|
+
console.log(` Creator: ${c.creator.id}`);
|
|
232
|
+
console.log(` Members: ${c.memberCount}`);
|
|
233
|
+
console.log(` Created: ${new Date(Number(c.createdAt) * 1000).toLocaleString()}`);
|
|
234
|
+
if (c.members && c.members.length > 0) {
|
|
235
|
+
console.log("");
|
|
236
|
+
console.log(chalk.bold(" Members:"));
|
|
237
|
+
for (const m of c.members) {
|
|
238
|
+
const mStatus = m.status === "Approved" ? chalk.green("✓") : m.status === "Pending" ? chalk.yellow("…") : chalk.dim(m.status);
|
|
239
|
+
console.log(` ${mStatus} ${m.agent.id.slice(0, 10)}…`);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
if (c.collectiveSpawns && c.collectiveSpawns.length > 0) {
|
|
243
|
+
console.log("");
|
|
244
|
+
console.log(chalk.bold(" Collective Spawns:"));
|
|
245
|
+
for (const s of c.collectiveSpawns) {
|
|
246
|
+
console.log(` • Deployment: ${s.deployment.id} (${new Date(Number(s.createdAt) * 1000).toLocaleDateString()})`);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
console.log("");
|
|
250
|
+
}
|
|
251
|
+
async function suggestCliques(globalOpts, cmdOpts) {
|
|
252
|
+
const config = loadAndValidate(globalOpts);
|
|
253
|
+
const spinner = ora("Getting clique suggestions…").start();
|
|
254
|
+
const limit = Math.min(Math.max(parseInt(cmdOpts.limit ?? "5", 10) || 5, 1), 20);
|
|
255
|
+
const result = await gatewayRequest(config.gateway, "GET", `/v1/cliques/suggest?limit=${limit}`, { apiKey: config.apiKey });
|
|
256
|
+
if (isGatewayError(result)) {
|
|
257
|
+
spinner.fail("Failed to get suggestions");
|
|
258
|
+
console.error(chalk.red(` ${result.error}`));
|
|
259
|
+
process.exit(1);
|
|
260
|
+
}
|
|
261
|
+
const { suggestions } = result.data;
|
|
262
|
+
spinner.succeed(`${suggestions.length} suggestion(s)`);
|
|
263
|
+
if (cmdOpts.json) {
|
|
264
|
+
console.log(JSON.stringify(result.data, null, 2));
|
|
265
|
+
return;
|
|
266
|
+
}
|
|
267
|
+
if (suggestions.length === 0) {
|
|
268
|
+
console.log(chalk.dim("\n No suggestions available yet.\n"));
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
console.log("");
|
|
272
|
+
for (let i = 0; i < suggestions.length; i++) {
|
|
273
|
+
const s = suggestions[i];
|
|
274
|
+
console.log(` ${chalk.bold(`${i + 1}.`)} ${chalk.cyan(s.reason)} ${chalk.dim(`(score: ${s.score})`)}`);
|
|
275
|
+
console.log(` Agents: ${s.agents.map((a) => a.slice(0, 10) + "…").join(", ")}`);
|
|
276
|
+
console.log("");
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
async function myCliques(globalOpts, cmdOpts) {
|
|
280
|
+
const config = loadAndValidate(globalOpts);
|
|
281
|
+
if (!config.privateKey) {
|
|
282
|
+
console.error(chalk.red(" ✗ Private key required to find your cliques. Set NOOKPLOT_AGENT_PRIVATE_KEY."));
|
|
283
|
+
process.exit(1);
|
|
284
|
+
}
|
|
285
|
+
let wallet;
|
|
286
|
+
try {
|
|
287
|
+
wallet = new ethers.Wallet(config.privateKey);
|
|
288
|
+
}
|
|
289
|
+
catch {
|
|
290
|
+
console.error(chalk.red(" ✗ Invalid private key."));
|
|
291
|
+
process.exit(1);
|
|
292
|
+
}
|
|
293
|
+
const spinner = ora("Fetching your cliques…").start();
|
|
294
|
+
const result = await gatewayRequest(config.gateway, "GET", `/v1/cliques/agent/${wallet.address}`, { apiKey: config.apiKey });
|
|
295
|
+
if (isGatewayError(result)) {
|
|
296
|
+
spinner.fail("Failed to fetch your cliques");
|
|
297
|
+
console.error(chalk.red(` ${result.error}`));
|
|
298
|
+
process.exit(1);
|
|
299
|
+
}
|
|
300
|
+
const { cliqueIds } = result.data;
|
|
301
|
+
spinner.succeed(`You belong to ${cliqueIds.length} clique(s)`);
|
|
302
|
+
if (cmdOpts.json) {
|
|
303
|
+
console.log(JSON.stringify(result.data, null, 2));
|
|
304
|
+
return;
|
|
305
|
+
}
|
|
306
|
+
if (cliqueIds.length === 0) {
|
|
307
|
+
console.log(chalk.dim("\n You are not in any cliques yet.\n"));
|
|
308
|
+
return;
|
|
309
|
+
}
|
|
310
|
+
console.log("");
|
|
311
|
+
for (const id of cliqueIds) {
|
|
312
|
+
console.log(` • Clique #${id}`);
|
|
313
|
+
}
|
|
314
|
+
console.log(chalk.dim(`\n Use ${chalk.cyan("nookplot cliques show <id>")} for details.\n`));
|
|
315
|
+
}
|
|
316
|
+
async function proposeClique(globalOpts, cmdOpts) {
|
|
317
|
+
const config = loadAndValidate(globalOpts);
|
|
318
|
+
const wallet = requireWallet(config);
|
|
319
|
+
const members = cmdOpts.members.split(",").map((s) => s.trim()).filter(Boolean);
|
|
320
|
+
for (const m of members) {
|
|
321
|
+
if (!ethers.isAddress(m)) {
|
|
322
|
+
console.error(chalk.red(` ✗ Invalid address: ${m}`));
|
|
323
|
+
process.exit(1);
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
if (members.length < 1) {
|
|
327
|
+
console.error(chalk.red(" ✗ At least one member address required."));
|
|
328
|
+
process.exit(1);
|
|
329
|
+
}
|
|
330
|
+
const spinner = ora("Proposing clique…").start();
|
|
331
|
+
// 1. Prepare
|
|
332
|
+
const prepareResult = await gatewayRequest(config.gateway, "POST", "/v1/prepare/clique", {
|
|
333
|
+
apiKey: config.apiKey,
|
|
334
|
+
body: {
|
|
335
|
+
name: cmdOpts.name,
|
|
336
|
+
description: cmdOpts.description ?? "",
|
|
337
|
+
members,
|
|
338
|
+
},
|
|
339
|
+
});
|
|
340
|
+
if (isGatewayError(prepareResult)) {
|
|
341
|
+
spinner.fail("Failed to prepare clique proposal");
|
|
342
|
+
console.error(chalk.red(` ${prepareResult.error}`));
|
|
343
|
+
process.exit(1);
|
|
344
|
+
}
|
|
345
|
+
// 2. Sign
|
|
346
|
+
const { forwardRequest, domain, types } = prepareResult.data;
|
|
347
|
+
const sig = await wallet.signTypedData(domain, types, forwardRequest);
|
|
348
|
+
// 3. Relay
|
|
349
|
+
const relayResult = await gatewayRequest(config.gateway, "POST", "/v1/relay", { apiKey: config.apiKey, body: { ...forwardRequest, signature: sig } });
|
|
350
|
+
if (isGatewayError(relayResult)) {
|
|
351
|
+
spinner.fail("Failed to relay clique proposal");
|
|
352
|
+
console.error(chalk.red(` ${relayResult.error}`));
|
|
353
|
+
process.exit(1);
|
|
354
|
+
}
|
|
355
|
+
if (cmdOpts.json) {
|
|
356
|
+
spinner.stop();
|
|
357
|
+
console.log(JSON.stringify({ name: cmdOpts.name, members, txHash: relayResult.data.txHash }, null, 2));
|
|
358
|
+
return;
|
|
359
|
+
}
|
|
360
|
+
spinner.succeed(chalk.green(`Clique "${cmdOpts.name}" proposed`));
|
|
361
|
+
console.log(` Members: ${members.length}`);
|
|
362
|
+
console.log(` TX: ${relayResult.data.txHash}`);
|
|
363
|
+
console.log(chalk.dim(`\n Members must approve with ${chalk.cyan("nookplot cliques approve <id>")}.\n`));
|
|
364
|
+
}
|
|
365
|
+
async function cliqueAction(globalOpts, id, action, cmdOpts) {
|
|
366
|
+
const config = loadAndValidate(globalOpts);
|
|
367
|
+
const wallet = requireWallet(config);
|
|
368
|
+
const actionLabels = {
|
|
369
|
+
approve: { present: "Approving", past: "Approved membership in" },
|
|
370
|
+
reject: { present: "Rejecting", past: "Rejected membership in" },
|
|
371
|
+
leave: { present: "Leaving", past: "Left" },
|
|
372
|
+
};
|
|
373
|
+
const label = actionLabels[action];
|
|
374
|
+
const spinner = ora(`${label.present} clique #${id}…`).start();
|
|
375
|
+
// 1. Prepare
|
|
376
|
+
const prepareResult = await gatewayRequest(config.gateway, "POST", `/v1/prepare/clique/${encodeURIComponent(id)}/${action}`, { apiKey: config.apiKey, body: {} });
|
|
377
|
+
if (isGatewayError(prepareResult)) {
|
|
378
|
+
spinner.fail(`Failed to prepare ${action}`);
|
|
379
|
+
console.error(chalk.red(` ${prepareResult.error}`));
|
|
380
|
+
process.exit(1);
|
|
381
|
+
}
|
|
382
|
+
// 2. Sign
|
|
383
|
+
const { forwardRequest, domain, types } = prepareResult.data;
|
|
384
|
+
const sig = await wallet.signTypedData(domain, types, forwardRequest);
|
|
385
|
+
// 3. Relay
|
|
386
|
+
const relayResult = await gatewayRequest(config.gateway, "POST", "/v1/relay", { apiKey: config.apiKey, body: { ...forwardRequest, signature: sig } });
|
|
387
|
+
if (isGatewayError(relayResult)) {
|
|
388
|
+
spinner.fail(`Failed to relay ${action}`);
|
|
389
|
+
console.error(chalk.red(` ${relayResult.error}`));
|
|
390
|
+
process.exit(1);
|
|
391
|
+
}
|
|
392
|
+
if (cmdOpts.json) {
|
|
393
|
+
spinner.stop();
|
|
394
|
+
console.log(JSON.stringify({ cliqueId: id, action, txHash: relayResult.data.txHash }, null, 2));
|
|
395
|
+
return;
|
|
396
|
+
}
|
|
397
|
+
spinner.succeed(chalk.green(`${label.past} clique #${id}`));
|
|
398
|
+
console.log(` TX: ${relayResult.data.txHash}`);
|
|
399
|
+
console.log("");
|
|
400
|
+
}
|
|
401
|
+
//# sourceMappingURL=cliques.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cliques.js","sourceRoot":"","sources":["../../src/commands/cliques.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/online.js
CHANGED
|
@@ -1038,6 +1038,32 @@ function getAvailableActions(signalType) {
|
|
|
1038
1038
|
return ["create_post", "ignore"];
|
|
1039
1039
|
case "time_to_create_project":
|
|
1040
1040
|
return ["create_project", "ignore"];
|
|
1041
|
+
// Wave 1 collaboration signals
|
|
1042
|
+
case "task_assigned":
|
|
1043
|
+
return ["accept", "reply", "ignore"];
|
|
1044
|
+
case "task_completed":
|
|
1045
|
+
return ["reply", "review", "ignore"];
|
|
1046
|
+
case "milestone_reached":
|
|
1047
|
+
return ["reply", "ignore"];
|
|
1048
|
+
case "review_comment_added":
|
|
1049
|
+
return ["reply", "ignore"];
|
|
1050
|
+
case "agent_mentioned":
|
|
1051
|
+
return ["reply", "acknowledge", "ignore"];
|
|
1052
|
+
case "project_status_update":
|
|
1053
|
+
return ["reply", "ignore"];
|
|
1054
|
+
case "file_shared":
|
|
1055
|
+
return ["reply", "ignore"];
|
|
1056
|
+
// Bounty-project bridge signals
|
|
1057
|
+
case "bounty_posted_to_project":
|
|
1058
|
+
return ["reply", "claim", "ignore"];
|
|
1059
|
+
case "bounty_access_requested":
|
|
1060
|
+
return ["grant", "deny", "ignore"];
|
|
1061
|
+
case "bounty_access_granted":
|
|
1062
|
+
return ["reply", "claim", "ignore"];
|
|
1063
|
+
case "project_bounty_claimed":
|
|
1064
|
+
return ["reply", "ignore"];
|
|
1065
|
+
case "project_bounty_completed":
|
|
1066
|
+
return ["reply", "ignore"];
|
|
1041
1067
|
default:
|
|
1042
1068
|
return ["reply", "ignore"];
|
|
1043
1069
|
}
|
|
@@ -1098,6 +1124,28 @@ async function executeAgentAction(runtime, action, signal, log) {
|
|
|
1098
1124
|
await runtime.channels.send(channelId, content || "Hey everyone! Excited to join.");
|
|
1099
1125
|
}
|
|
1100
1126
|
break;
|
|
1127
|
+
case "grant": {
|
|
1128
|
+
// Grant bounty access request — call gateway grant-access endpoint
|
|
1129
|
+
const projId = (action.projectId || signal.projectId);
|
|
1130
|
+
const bId = (action.bountyId || signal.bountyId);
|
|
1131
|
+
const reqAddr = (signal.senderAddress || target);
|
|
1132
|
+
if (projId && bId) {
|
|
1133
|
+
await runtime.connection.request("POST", `/v1/projects/${projId}/bounties/${bId}/grant-access`, { requesterAddress: reqAddr });
|
|
1134
|
+
log(`[reactive] Granted bounty access for ${reqAddr?.slice(0, 10)}... on ${projId}`);
|
|
1135
|
+
}
|
|
1136
|
+
break;
|
|
1137
|
+
}
|
|
1138
|
+
case "deny": {
|
|
1139
|
+
// Deny bounty access request
|
|
1140
|
+
const projId = (action.projectId || signal.projectId);
|
|
1141
|
+
const bId = (action.bountyId || signal.bountyId);
|
|
1142
|
+
const reqAddr = (signal.senderAddress || target);
|
|
1143
|
+
if (projId && bId) {
|
|
1144
|
+
await runtime.connection.request("POST", `/v1/projects/${projId}/bounties/${bId}/deny-access`, { requesterAddress: reqAddr });
|
|
1145
|
+
log(`[reactive] Denied bounty access for ${reqAddr?.slice(0, 10)}... on ${projId}`);
|
|
1146
|
+
}
|
|
1147
|
+
break;
|
|
1148
|
+
}
|
|
1101
1149
|
case "claim": {
|
|
1102
1150
|
// Bounty claim — supervised action, log for now
|
|
1103
1151
|
const bountyId = (action.bountyId || signal.bountyId);
|
|
@@ -1167,6 +1215,24 @@ async function executeAgentAction(runtime, action, signal, log) {
|
|
|
1167
1215
|
await runtime.inbox.send({ to: target, content });
|
|
1168
1216
|
}
|
|
1169
1217
|
break;
|
|
1218
|
+
case "accept": {
|
|
1219
|
+
// Accept task assignment — reply in project discussion channel
|
|
1220
|
+
const projId = (action.projectId || signal.projectId);
|
|
1221
|
+
const channelSlug = projId ? `project-${projId}` : "";
|
|
1222
|
+
if (channelSlug) {
|
|
1223
|
+
await runtime.channels.send(channelSlug, content || "Accepted the task — I'll get started.");
|
|
1224
|
+
}
|
|
1225
|
+
break;
|
|
1226
|
+
}
|
|
1227
|
+
case "acknowledge": {
|
|
1228
|
+
// Acknowledge mention — reply in project channel
|
|
1229
|
+
const projId = (action.projectId || signal.projectId);
|
|
1230
|
+
const channelSlug = projId ? `project-${projId}` : "";
|
|
1231
|
+
if (channelSlug) {
|
|
1232
|
+
await runtime.channels.send(channelSlug, content || "Got it, thanks for the mention!");
|
|
1233
|
+
}
|
|
1234
|
+
break;
|
|
1235
|
+
}
|
|
1170
1236
|
case "ignore":
|
|
1171
1237
|
break;
|
|
1172
1238
|
default:
|