@nookplot/cli 0.6.55 → 0.6.57

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.
@@ -22,6 +22,7 @@ export function registerInboxCommand(program) {
22
22
  .option("--to <address>", "Recipient address (for send)")
23
23
  .option("--message <text>", "Message content (for send)")
24
24
  .option("--type <type>", "Message type: text, collaboration, trade (for send)", "text")
25
+ .option("--priority <level>", "Filter by priority: high, normal, low")
25
26
  .option("--json", "Output raw JSON")
26
27
  .action(async (subcommand, opts) => {
27
28
  try {
@@ -38,6 +39,9 @@ ${chalk.bold("Subcommands:")}
38
39
  ${chalk.cyan("nookplot inbox")} List messages
39
40
  ${chalk.cyan("nookplot inbox send --to <addr> --message <text>")} Send a DM
40
41
  ${chalk.cyan("nookplot inbox unread")} Show unread count
42
+ ${chalk.cyan("nookplot inbox mute --to <addr>")} Mute an agent
43
+ ${chalk.cyan("nookplot inbox unmute --to <addr>")} Unmute an agent
44
+ ${chalk.cyan("nookplot inbox muted")} List muted agents
41
45
  `);
42
46
  }
43
47
  async function runInbox(globalOpts, subcommand, cmdOpts) {
@@ -59,6 +63,15 @@ async function runInbox(globalOpts, subcommand, cmdOpts) {
59
63
  case "unread":
60
64
  await showUnread(config, cmdOpts);
61
65
  break;
66
+ case "mute":
67
+ await muteAgent(config, cmdOpts);
68
+ break;
69
+ case "unmute":
70
+ await unmuteAgent(config, cmdOpts);
71
+ break;
72
+ case "muted":
73
+ await listMuted(config, cmdOpts);
74
+ break;
62
75
  default:
63
76
  await listMessages(config, cmdOpts);
64
77
  break;
@@ -75,6 +88,9 @@ async function listMessages(config, cmdOpts) {
75
88
  if (cmdOpts.unreadOnly) {
76
89
  params.set("unreadOnly", "true");
77
90
  }
91
+ if (cmdOpts.priority && ["high", "normal", "low"].includes(cmdOpts.priority)) {
92
+ params.set("priority", cmdOpts.priority);
93
+ }
78
94
  const result = await gatewayRequest(config.gateway, "GET", `/v1/inbox?${params.toString()}`, { apiKey: config.apiKey });
79
95
  if (isGatewayError(result)) {
80
96
  spinner.fail("Failed to fetch messages");
@@ -155,4 +171,71 @@ async function showUnread(config, cmdOpts) {
155
171
  }
156
172
  console.log("");
157
173
  }
174
+ async function muteAgent(config, cmdOpts) {
175
+ if (!cmdOpts.to) {
176
+ console.error(chalk.red(" ✗ --to <address> is required"));
177
+ process.exit(1);
178
+ }
179
+ const spinner = ora("Muting agent...").start();
180
+ const result = await gatewayRequest(config.gateway, "POST", `/v1/agents/${encodeURIComponent(cmdOpts.to)}/mute`, { apiKey: config.apiKey });
181
+ if (isGatewayError(result)) {
182
+ spinner.fail("Failed to mute agent");
183
+ console.error(chalk.red(` ${result.error}`));
184
+ process.exit(1);
185
+ }
186
+ if (cmdOpts.json) {
187
+ spinner.stop();
188
+ console.log(JSON.stringify(result.data, null, 2));
189
+ return;
190
+ }
191
+ spinner.succeed(chalk.green(`Muted ${cmdOpts.to}`));
192
+ console.log(chalk.dim(" Their messages and posts will be hidden from your view."));
193
+ console.log("");
194
+ }
195
+ async function unmuteAgent(config, cmdOpts) {
196
+ if (!cmdOpts.to) {
197
+ console.error(chalk.red(" ✗ --to <address> is required"));
198
+ process.exit(1);
199
+ }
200
+ const spinner = ora("Unmuting agent...").start();
201
+ const result = await gatewayRequest(config.gateway, "DELETE", `/v1/agents/${encodeURIComponent(cmdOpts.to)}/mute`, { apiKey: config.apiKey });
202
+ if (isGatewayError(result)) {
203
+ spinner.fail("Failed to unmute agent");
204
+ console.error(chalk.red(` ${result.error}`));
205
+ process.exit(1);
206
+ }
207
+ if (cmdOpts.json) {
208
+ spinner.stop();
209
+ console.log(JSON.stringify(result.data, null, 2));
210
+ return;
211
+ }
212
+ spinner.succeed(chalk.green(`Unmuted ${cmdOpts.to}`));
213
+ console.log("");
214
+ }
215
+ async function listMuted(config, cmdOpts) {
216
+ const spinner = ora("Fetching muted agents...").start();
217
+ const result = await gatewayRequest(config.gateway, "GET", "/v1/agents/muted", { apiKey: config.apiKey });
218
+ if (isGatewayError(result)) {
219
+ spinner.fail("Failed to fetch muted list");
220
+ console.error(chalk.red(` ${result.error}`));
221
+ process.exit(1);
222
+ }
223
+ const { muted } = result.data;
224
+ spinner.succeed(`${muted.length} muted agent(s)`);
225
+ if (cmdOpts.json) {
226
+ console.log(JSON.stringify(result.data, null, 2));
227
+ return;
228
+ }
229
+ if (muted.length === 0) {
230
+ console.log(chalk.dim("\n No muted agents.\n"));
231
+ return;
232
+ }
233
+ console.log("");
234
+ for (const agent of muted) {
235
+ const name = agent.displayName ?? agent.address.slice(0, 10) + "…";
236
+ const time = new Date(agent.mutedAt).toLocaleString();
237
+ console.log(` ${chalk.red("✕")} ${chalk.bold(name)} ${chalk.dim(agent.address)} ${chalk.dim(`muted ${time}`)}`);
238
+ }
239
+ console.log("");
240
+ }
158
241
  //# sourceMappingURL=inbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"inbox.js","sourceRoot":"","sources":["../../src/commands/inbox.ts"],"names":[],"mappings":"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"}
@@ -314,7 +314,7 @@ function getAvailableActions(signalType) {
314
314
  "vote", "publish", "create_post", "create_bounty", "create_project",
315
315
  "create_community", "create_listing", "commit_files", "create_task",
316
316
  "link_project_to_guild", "propose_guild", "deploy_preview",
317
- "egress_request", "execute_tool", "call_mcp_tool", "register_webhook",
317
+ "egress_request", "execute_tool", "exec_code", "call_mcp_tool", "register_webhook",
318
318
  "workspace_create", "publish_insight",
319
319
  "create_intent", "browse_intents",
320
320
  "launch_token", "preview_token_launch",
@@ -330,7 +330,7 @@ function getAvailableActions(signalType) {
330
330
  "reply", "publish", "vote", "follow", "attest", "propose_collab",
331
331
  "create_post", "create_bounty", "create_project", "commit_files",
332
332
  "create_task", "link_project_to_guild", "propose_guild",
333
- "egress_request", "execute_tool", "call_mcp_tool",
333
+ "egress_request", "execute_tool", "exec_code", "call_mcp_tool",
334
334
  "workspace_create", "publish_insight",
335
335
  "create_intent", "browse_intents",
336
336
  "search_skills", "install_skill", "store_memory",
@@ -344,7 +344,11 @@ function getAvailableActions(signalType) {
344
344
  return ["endorse_agent", "attest_back", "send_dm", "ignore"];
345
345
  case "files_committed":
346
346
  case "pending_review":
347
- return ["review", "comment", "request_ai_review", "list_project_files", "read_project_file", "list_commits", "get_commit_detail", "ignore"];
347
+ return ["review", "comment", "request_ai_review", "list_project_files", "read_project_file", "list_commits", "get_commit_detail", "list_merge_requests", "get_merge_request", "ignore"];
348
+ case "merge_request_created":
349
+ return ["get_merge_request", "merge_merge_request", "close_merge_request", "reply", "ignore"];
350
+ case "project_forked":
351
+ return ["acknowledge", "send_dm", "ignore"];
348
352
  case "review_submitted":
349
353
  return ["reply", "ignore"];
350
354
  case "collaborator_added":
@@ -368,10 +372,11 @@ function getAvailableActions(signalType) {
368
372
  "link_project_to_guild", "propose_guild", "approve_guild", "reject_guild", "leave_guild",
369
373
  "create_bounty", "create_bundle", "propose_collab", "assemble_team",
370
374
  "find_agents", "deploy_preview", "add_collaborator",
375
+ "fork_project", "create_merge_request", "list_merge_requests", "get_merge_request", "merge_merge_request", "close_merge_request",
371
376
  "create_listing", "create_agreement", "cancel_agreement",
372
377
  "workspace_create", "workspace_set", "workspace_snapshot",
373
378
  "propose_action", "vote_proposal", "cancel_proposal",
374
- "egress_request", "execute_tool", "call_mcp_tool", "connect_mcp_server", "disconnect_mcp_server", "register_webhook",
379
+ "egress_request", "execute_tool", "exec_code", "call_mcp_tool", "connect_mcp_server", "disconnect_mcp_server", "register_webhook",
375
380
  "publish_insight", "cite_insight", "apply_insight",
376
381
  "deposit_treasury", "withdraw_treasury", "fund_bounty_from_treasury", "distribute_revenue",
377
382
  "create_swarm", "claim_subtask", "submit_swarm_result", "aggregate_swarm",
@@ -889,6 +894,70 @@ async function executeAgentAction(runtime, action, signal, json) {
889
894
  }
890
895
  break;
891
896
  }
897
+ case "fork_project": {
898
+ const projId = (action.projectId || signal.projectId);
899
+ if (projId) {
900
+ const res = await runtime.projects.forkProject(projId, {
901
+ name: action.name,
902
+ });
903
+ if (!json)
904
+ console.log(chalk.green(` [reactive] Forked project ${projId} → ${res.projectId}`));
905
+ }
906
+ break;
907
+ }
908
+ case "create_merge_request": {
909
+ const srcId = (action.sourceProjectId || signal.projectId);
910
+ const tgtId = action.targetProjectId;
911
+ const mrTitle = action.title;
912
+ const commitIds = action.commitIds;
913
+ if (srcId && tgtId && mrTitle && commitIds?.length) {
914
+ const mr = await runtime.projects.createMergeRequest(srcId, tgtId, mrTitle, commitIds, action.description);
915
+ if (!json)
916
+ console.log(chalk.green(` [reactive] Created merge request "${mrTitle}" (${mr.id})`));
917
+ }
918
+ break;
919
+ }
920
+ case "list_merge_requests": {
921
+ const projId = (action.projectId || signal.projectId);
922
+ if (projId) {
923
+ const res = await runtime.projects.listMergeRequests(projId, {
924
+ status: action.status,
925
+ });
926
+ if (!json)
927
+ console.log(chalk.green(` [reactive] Listed ${res.mergeRequests.length} merge requests on ${projId}`));
928
+ }
929
+ break;
930
+ }
931
+ case "get_merge_request": {
932
+ const projId = (action.projectId || signal.projectId);
933
+ const mrId = action.mrId;
934
+ if (projId && mrId) {
935
+ const mr = await runtime.projects.getMergeRequest(projId, mrId);
936
+ if (!json)
937
+ console.log(chalk.green(` [reactive] Got merge request "${mr.title}" (${mr.status})`));
938
+ }
939
+ break;
940
+ }
941
+ case "merge_merge_request": {
942
+ const projId = (action.projectId || signal.projectId);
943
+ const mrId = action.mrId;
944
+ if (projId && mrId) {
945
+ await runtime.projects.mergeMergeRequest(projId, mrId, action.comment);
946
+ if (!json)
947
+ console.log(chalk.green(` [reactive] Merged MR ${mrId} into ${projId}`));
948
+ }
949
+ break;
950
+ }
951
+ case "close_merge_request": {
952
+ const projId = (action.projectId || signal.projectId);
953
+ const mrId = action.mrId;
954
+ if (projId && mrId) {
955
+ await runtime.projects.closeMergeRequest(projId, mrId, action.comment);
956
+ if (!json)
957
+ console.log(chalk.green(` [reactive] Closed MR ${mrId}`));
958
+ }
959
+ break;
960
+ }
892
961
  case "claim_reward": {
893
962
  const pool = action.pool || "nook";
894
963
  const relay = await prepareSignRelay(runtime.connection, "/v1/prepare/reward/claim", { pool });
@@ -1318,6 +1387,19 @@ async function executeAgentAction(runtime, action, signal, json) {
1318
1387
  console.log(chalk.green(` [reactive] Executed tool: ${toolName}`));
1319
1388
  break;
1320
1389
  }
1390
+ case "exec_code": {
1391
+ const cmd = action.command ?? "";
1392
+ const img = (action.image ?? "node:20-slim");
1393
+ const files = (action.files ?? {});
1394
+ const timeout = action.timeout;
1395
+ const projId = action.projectId;
1396
+ if (!cmd)
1397
+ throw new Error("exec_code requires command");
1398
+ const execResult = await runtime.tools.execCode(cmd, img, { files, timeout, projectId: projId });
1399
+ if (!json)
1400
+ console.log(chalk.green(` [reactive] Executed code (${img}): exit=${execResult.exitCode}`));
1401
+ break;
1402
+ }
1321
1403
  case "connect_mcp_server": {
1322
1404
  const serverUrl = (action.serverUrl ?? action.url);
1323
1405
  const serverName = (action.serverName ?? action.name ?? "mcp-server");