@nookplot/cli 0.6.54 → 0.6.56

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.
@@ -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,11 @@ 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", "list_merge_requests", "get_merge_request", "ignore"];
389
+ case "merge_request_created":
390
+ return ["get_merge_request", "merge_merge_request", "close_merge_request", "reply", "ignore"];
391
+ case "project_forked":
392
+ return ["acknowledge", "send_dm", "ignore"];
391
393
  case "review_submitted":
392
394
  return ["reply", "ignore"];
393
395
  case "collaborator_added":
@@ -395,7 +397,7 @@ export function getAvailableActions(signalType) {
395
397
  case "new_post_in_community":
396
398
  case "post_reply":
397
399
  case "reply_to_own_post":
398
- return ["reply", "post_reply", "vote", "publish", "block_agent", "report_content", "ignore"];
400
+ return ["reply", "post_reply", "vote", "publish", "ignore"];
399
401
  case "bounty":
400
402
  return ["claim", "apply_bounty", "create_bounty", "reply", "ignore"];
401
403
  case "community_gap":
@@ -411,6 +413,7 @@ export function getAvailableActions(signalType) {
411
413
  "link_project_to_guild", "propose_guild", "approve_guild", "reject_guild", "leave_guild",
412
414
  "create_bounty", "create_bundle", "propose_collab", "assemble_team",
413
415
  "find_agents", "deploy_preview", "add_collaborator",
416
+ "fork_project", "create_merge_request", "list_merge_requests", "get_merge_request", "merge_merge_request", "close_merge_request",
414
417
  "create_listing", "create_agreement", "cancel_agreement",
415
418
  "workspace_create", "workspace_set", "workspace_snapshot",
416
419
  "propose_action", "vote_proposal", "cancel_proposal",
@@ -419,9 +422,9 @@ export function getAvailableActions(signalType) {
419
422
  "deposit_treasury", "withdraw_treasury", "fund_bounty_from_treasury", "distribute_revenue",
420
423
  "create_swarm", "claim_subtask", "submit_swarm_result", "aggregate_swarm",
421
424
  "record_gap", "update_proficiency", "generate_recommendations",
422
- "create_intent", "browse_intents", "browse_feed", "submit_proposal", "accept_proposal", "reject_proposal",
425
+ "create_intent", "browse_intents", "submit_proposal", "accept_proposal", "reject_proposal",
423
426
  "cancel_intent", "complete_intent", "withdraw_proposal", "query_oracle",
424
- "report_clawnch_launch", "get_token_analytics",
427
+ "launch_token", "preview_token_launch", "claim_clawnch_fees", "get_token_analytics",
425
428
  "create_search_subscription",
426
429
  "send_email", "reply_email", "check_email", "create_email_inbox",
427
430
  "search_skills", "publish_skill", "install_skill", "review_skill", "update_skill", "trending_skills",
@@ -431,7 +434,8 @@ export function getAvailableActions(signalType) {
431
434
  "credit_hire", "accept_credit_agreement", "deliver_credit_work", "complete_credit_agreement", "cancel_credit_agreement",
432
435
  "claim_reward",
433
436
  "endorse_agent", "revoke_endorsement",
434
- "block_agent", "unblock_agent", "report_content",
437
+ "block_agent", "unblock_agent",
438
+ "list_project_files", "read_project_file", "list_commits", "get_commit_detail",
435
439
  "ignore",
436
440
  ];
437
441
  case "collab_request":
@@ -626,17 +630,6 @@ export async function executeAgentAction(runtime, action, signal, log) {
626
630
  await runtime.social.unblock(target);
627
631
  }
628
632
  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
633
  case "vote":
641
634
  if (action.cid) {
642
635
  await runtime.memory.vote({ cid: action.cid, type: (action.voteType || "up") });
@@ -799,6 +792,42 @@ export async function executeAgentAction(runtime, action, signal, log) {
799
792
  }
800
793
  break;
801
794
  }
795
+ case "list_project_files": {
796
+ const projId = (action.projectId || signal.projectId);
797
+ if (projId) {
798
+ const files = await runtime.projects.listFiles(projId);
799
+ log(`[reactive] Listed ${files.length} files in project ${projId}`);
800
+ }
801
+ break;
802
+ }
803
+ case "read_project_file": {
804
+ const projId = (action.projectId || signal.projectId);
805
+ const filePath = action.filePath;
806
+ if (projId && filePath) {
807
+ const fileContent = await runtime.projects.readFile(projId, filePath);
808
+ log(`[reactive] Read file ${filePath} from project ${projId}`);
809
+ }
810
+ break;
811
+ }
812
+ case "list_commits": {
813
+ const projId = (action.projectId || signal.projectId);
814
+ if (projId) {
815
+ const limit = action.limit ?? 20;
816
+ const offset = action.offset ?? 0;
817
+ const commits = await runtime.projects.listCommits(projId, limit, offset);
818
+ log(`[reactive] Listed ${commits.length} commits in project ${projId}`);
819
+ }
820
+ break;
821
+ }
822
+ case "get_commit_detail": {
823
+ const projId = (action.projectId || signal.projectId);
824
+ const commitId = action.commitId;
825
+ if (projId && commitId) {
826
+ const commit = await runtime.projects.getCommit(projId, commitId);
827
+ log(`[reactive] Got commit detail ${commitId} from project ${projId}`);
828
+ }
829
+ break;
830
+ }
802
831
  case "add_collaborator": {
803
832
  const projId = (action.projectId || signal.projectId);
804
833
  const collabAddr = (action.collaboratorAddress || target);
@@ -911,6 +940,64 @@ export async function executeAgentAction(runtime, action, signal, log) {
911
940
  }
912
941
  break;
913
942
  }
943
+ case "fork_project": {
944
+ const projId = (action.projectId || signal.projectId);
945
+ if (projId) {
946
+ const res = await runtime.projects.forkProject(projId, {
947
+ name: action.name,
948
+ });
949
+ log(`[reactive] Forked project ${projId} → ${res.projectId}`);
950
+ }
951
+ break;
952
+ }
953
+ case "create_merge_request": {
954
+ const srcId = (action.sourceProjectId || signal.projectId);
955
+ const tgtId = action.targetProjectId;
956
+ const mrTitle = action.title;
957
+ const commitIds = action.commitIds;
958
+ if (srcId && tgtId && mrTitle && commitIds?.length) {
959
+ const mr = await runtime.projects.createMergeRequest(srcId, tgtId, mrTitle, commitIds, action.description);
960
+ log(`[reactive] Created merge request "${mrTitle}" (${mr.id})`);
961
+ }
962
+ break;
963
+ }
964
+ case "list_merge_requests": {
965
+ const projId = (action.projectId || signal.projectId);
966
+ if (projId) {
967
+ const res = await runtime.projects.listMergeRequests(projId, {
968
+ status: action.status,
969
+ });
970
+ log(`[reactive] Listed ${res.mergeRequests.length} merge requests on ${projId}`);
971
+ }
972
+ break;
973
+ }
974
+ case "get_merge_request": {
975
+ const projId = (action.projectId || signal.projectId);
976
+ const mrId = action.mrId;
977
+ if (projId && mrId) {
978
+ const mr = await runtime.projects.getMergeRequest(projId, mrId);
979
+ log(`[reactive] Got merge request "${mr.title}" (${mr.status})`);
980
+ }
981
+ break;
982
+ }
983
+ case "merge_merge_request": {
984
+ const projId = (action.projectId || signal.projectId);
985
+ const mrId = action.mrId;
986
+ if (projId && mrId) {
987
+ await runtime.projects.mergeMergeRequest(projId, mrId, action.comment);
988
+ log(`[reactive] Merged MR ${mrId} into ${projId}`);
989
+ }
990
+ break;
991
+ }
992
+ case "close_merge_request": {
993
+ const projId = (action.projectId || signal.projectId);
994
+ const mrId = action.mrId;
995
+ if (projId && mrId) {
996
+ await runtime.projects.closeMergeRequest(projId, mrId, action.comment);
997
+ log(`[reactive] Closed MR ${mrId}`);
998
+ }
999
+ break;
1000
+ }
914
1001
  case "claim_reward": {
915
1002
  const pool = action.pool || "nook";
916
1003
  const relay = await prepareSignRelay(runtime.connection, "/v1/prepare/reward/claim", { pool });
@@ -1479,20 +1566,6 @@ export async function executeAgentAction(runtime, action, signal, log) {
1479
1566
  log(`[reactive] Found ${browseRes.total} intents`);
1480
1567
  break;
1481
1568
  }
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
1569
  case "submit_proposal": {
1497
1570
  const spIntentId = action.intentId;
1498
1571
  if (spIntentId) {
@@ -1585,14 +1658,23 @@ export async function executeAgentAction(runtime, action, signal, log) {
1585
1658
  break;
1586
1659
  }
1587
1660
  // ── 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"}`);
1661
+ case "preview_token_launch": {
1662
+ const prevRes = await runtime.connection.request("POST", "/v1/clawnch/preview", { tokenName: action.tokenName, tokenTicker: action.tokenTicker, description: action.description || action.content, imageUrl: action.imageUrl });
1663
+ log(`[reactive] Token preview: ${prevRes?.launch ? "OK" : "done"}`);
1664
+ break;
1665
+ }
1666
+ case "launch_token": {
1667
+ const launchRes = await runtime.connection.request("POST", "/v1/clawnch/launch", { tokenName: action.tokenName, tokenTicker: action.tokenTicker, description: action.description || action.content, imageUrl: action.imageUrl });
1668
+ const tokenAddr = launchRes?.launch;
1669
+ log(`[reactive] Launched token ${tokenAddr?.token_address ?? "pending"}`);
1670
+ break;
1671
+ }
1672
+ case "claim_clawnch_fees": {
1673
+ const claimAddr = action.tokenAddress;
1674
+ if (claimAddr) {
1675
+ const claimRes = await runtime.connection.request("POST", "/v1/clawnch/claim-fees", { tokenAddress: claimAddr });
1676
+ log(`[reactive] Claimed fees for ${claimAddr.slice(0, 10)}...`);
1677
+ }
1596
1678
  break;
1597
1679
  }
1598
1680
  case "get_token_analytics": {