solana-agent-kit-plugin-madeonsol 0.6.1 → 0.7.0

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.
@@ -0,0 +1,46 @@
1
+ import { z } from "zod";
2
+ export declare const kolAlertsRecentAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ window: string;
9
+ limit: number;
10
+ };
11
+ output: {
12
+ status: string;
13
+ };
14
+ explanation: string;
15
+ }[][];
16
+ schema: z.ZodObject<{
17
+ window: z.ZodDefault<z.ZodEnum<["5m", "15m", "1h", "6h", "24h"]>>;
18
+ types: z.ZodOptional<z.ZodArray<z.ZodEnum<["consensus_cluster", "fresh_token_kol_buy", "heating_up"]>, "many">>;
19
+ min_severity: z.ZodOptional<z.ZodEnum<["low", "medium", "high"]>>;
20
+ limit: z.ZodDefault<z.ZodNumber>;
21
+ }, "strip", z.ZodTypeAny, {
22
+ limit: number;
23
+ window: "24h" | "1h" | "6h" | "5m" | "15m";
24
+ types?: ("consensus_cluster" | "fresh_token_kol_buy" | "heating_up")[] | undefined;
25
+ min_severity?: "low" | "medium" | "high" | undefined;
26
+ }, {
27
+ limit?: number | undefined;
28
+ types?: ("consensus_cluster" | "fresh_token_kol_buy" | "heating_up")[] | undefined;
29
+ window?: "24h" | "1h" | "6h" | "5m" | "15m" | undefined;
30
+ min_severity?: "low" | "medium" | "high" | undefined;
31
+ }>;
32
+ handler: (agent: unknown, input: {
33
+ window?: string;
34
+ types?: string[];
35
+ min_severity?: string;
36
+ limit?: number;
37
+ }) => Promise<{
38
+ status: string;
39
+ result: any;
40
+ message?: undefined;
41
+ } | {
42
+ status: string;
43
+ message: string;
44
+ result?: undefined;
45
+ }>;
46
+ };
@@ -0,0 +1,27 @@
1
+ import { z } from "zod";
2
+ import { kolAlertsRecent } from "../tools/index.js";
3
+ export const kolAlertsRecentAction = {
4
+ name: "MADEONSOL_KOL_ALERTS_RECENT_ACTION",
5
+ similes: ["kol alerts", "recent kol alerts", "kol signals", "live kol feed", "kol events"],
6
+ description: "Live KOL alert feed from MadeOnSol — consensus clusters, fresh-token KOL buys, and heating-up wallets unified into one stream. Sorted by detected_at DESC then severity.",
7
+ examples: [
8
+ [
9
+ { input: { window: "15m", limit: 20 }, output: { status: "success" }, explanation: "Show recent KOL alerts in the last 15 minutes" },
10
+ ],
11
+ ],
12
+ schema: z.object({
13
+ window: z.enum(["5m", "15m", "1h", "6h", "24h"]).default("15m").describe("Lookback window"),
14
+ types: z.array(z.enum(["consensus_cluster", "fresh_token_kol_buy", "heating_up"])).optional().describe("Filter to specific alert types"),
15
+ min_severity: z.enum(["low", "medium", "high"]).optional().describe("Minimum severity to include"),
16
+ limit: z.number().min(1).max(200).default(50).describe("Max alerts"),
17
+ }),
18
+ handler: async (agent, input) => {
19
+ try {
20
+ const data = await kolAlertsRecent(agent, input);
21
+ return { status: "success", result: data };
22
+ }
23
+ catch (err) {
24
+ return { status: "error", message: err.message };
25
+ }
26
+ },
27
+ };
@@ -0,0 +1,33 @@
1
+ import { z } from "zod";
2
+ export declare const kolCompareAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ wallets: string[];
9
+ };
10
+ output: {
11
+ status: string;
12
+ };
13
+ explanation: string;
14
+ }[][];
15
+ schema: z.ZodObject<{
16
+ wallets: z.ZodArray<z.ZodString, "many">;
17
+ }, "strip", z.ZodTypeAny, {
18
+ wallets: string[];
19
+ }, {
20
+ wallets: string[];
21
+ }>;
22
+ handler: (agent: unknown, input: {
23
+ wallets: string[];
24
+ }) => Promise<{
25
+ status: string;
26
+ result: any;
27
+ message?: undefined;
28
+ } | {
29
+ status: string;
30
+ message: string;
31
+ result?: undefined;
32
+ }>;
33
+ };
@@ -0,0 +1,24 @@
1
+ import { z } from "zod";
2
+ import { kolCompare } from "../tools/index.js";
3
+ export const kolCompareAction = {
4
+ name: "MADEONSOL_KOL_COMPARE_ACTION",
5
+ similes: ["compare kols", "compare wallets", "kol comparison", "side by side kols"],
6
+ description: "Side-by-side comparison of 2-5 Solana KOL wallets on MadeOnSol — strategy, winrates, ROI, PnL percentiles. PRO+ adds overlap tokens (bought by 2+ in last 30d). BASIC=2, PRO=4, ULTRA=5.",
7
+ examples: [
8
+ [
9
+ { input: { wallets: ["WalletA", "WalletB"] }, output: { status: "success" }, explanation: "Compare two KOL wallets side-by-side" },
10
+ ],
11
+ ],
12
+ schema: z.object({
13
+ wallets: z.array(z.string()).min(2).max(5).describe("2-5 wallet addresses"),
14
+ }),
15
+ handler: async (agent, input) => {
16
+ try {
17
+ const data = await kolCompare(agent, input);
18
+ return { status: "success", result: data };
19
+ }
20
+ catch (err) {
21
+ return { status: "error", message: err.message };
22
+ }
23
+ },
24
+ };
@@ -22,8 +22,8 @@ export declare const kolFeedAction: {
22
22
  action?: "buy" | "sell" | undefined;
23
23
  kol?: string | undefined;
24
24
  }, {
25
- action?: "buy" | "sell" | undefined;
26
25
  limit?: number | undefined;
26
+ action?: "buy" | "sell" | undefined;
27
27
  kol?: string | undefined;
28
28
  }>;
29
29
  handler: (agent: unknown, input: {
@@ -0,0 +1,38 @@
1
+ import { z } from "zod";
2
+ export declare const kolTokenEntryOrderAction: {
3
+ name: string;
4
+ similes: string[];
5
+ description: string;
6
+ examples: {
7
+ input: {
8
+ mint: string;
9
+ limit: number;
10
+ };
11
+ output: {
12
+ status: string;
13
+ };
14
+ explanation: string;
15
+ }[][];
16
+ schema: z.ZodObject<{
17
+ mint: z.ZodString;
18
+ limit: z.ZodDefault<z.ZodNumber>;
19
+ }, "strip", z.ZodTypeAny, {
20
+ mint: string;
21
+ limit: number;
22
+ }, {
23
+ mint: string;
24
+ limit?: number | undefined;
25
+ }>;
26
+ handler: (agent: unknown, input: {
27
+ mint: string;
28
+ limit?: number;
29
+ }) => Promise<{
30
+ status: string;
31
+ result: any;
32
+ message?: undefined;
33
+ } | {
34
+ status: string;
35
+ message: string;
36
+ result?: undefined;
37
+ }>;
38
+ };
@@ -0,0 +1,23 @@
1
+ import { z } from "zod";
2
+ import { kolTokenEntryOrder } from "../tools/index.js";
3
+ export const kolTokenEntryOrderAction = {
4
+ name: "MADEONSOL_KOL_TOKEN_ENTRY_ORDER_ACTION",
5
+ similes: ["who bought first", "first kol buyers", "kol entry order", "token entry ranking"],
6
+ description: "Get the ranked order of KOL first-buyers for a specific Solana token. Each entry includes seconds_after_first relative to the first KOL entry. PRO+ adds percentile_pnl_7d per entry.",
7
+ examples: [
8
+ [{ input: { mint: "7xKXtg2CW87d97TXJSDpbD5jBkheTqA83TZRuJosgAsU", limit: 20 }, output: { status: "success" }, explanation: "Who were the first 20 KOLs to buy this token?" }],
9
+ ],
10
+ schema: z.object({
11
+ mint: z.string().describe("Token mint address (base58)"),
12
+ limit: z.number().min(1).max(200).default(50).describe("Max ranked entries"),
13
+ }),
14
+ handler: async (agent, input) => {
15
+ try {
16
+ const data = await kolTokenEntryOrder(agent, input);
17
+ return { status: "success", result: data };
18
+ }
19
+ catch (err) {
20
+ return { status: "error", message: err.message };
21
+ }
22
+ },
23
+ };
@@ -116,10 +116,10 @@ export declare const walletTrackerTradesAction: {
116
116
  event_type?: "swap" | "transfer" | undefined;
117
117
  before?: number | undefined;
118
118
  }, {
119
+ limit?: number | undefined;
119
120
  wallet?: string | undefined;
120
121
  action?: "buy" | "sell" | "transfer_in" | "transfer_out" | undefined;
121
122
  event_type?: "swap" | "transfer" | undefined;
122
- limit?: number | undefined;
123
123
  before?: number | undefined;
124
124
  }>;
125
125
  handler: (agent: unknown, input: {
package/dist/index.d.ts CHANGED
@@ -5,7 +5,10 @@ import { deployerAlertsAction } from "./actions/deployerAlerts.js";
5
5
  import { kolPnlAction } from "./actions/kolPnl.js";
6
6
  import { kolTrendingTokensAction } from "./actions/kolTrendingTokens.js";
7
7
  import { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction } from "./actions/walletTracker.js";
8
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary } from "./tools/index.js";
8
+ import { kolTokenEntryOrderAction } from "./actions/kolTokenEntryOrder.js";
9
+ import { kolCompareAction } from "./actions/kolCompare.js";
10
+ import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
11
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary } from "./tools/index.js";
9
12
  declare const MadeOnSolPlugin: {
10
13
  name: string;
11
14
  methods: {
@@ -15,6 +18,9 @@ declare const MadeOnSolPlugin: {
15
18
  deployerAlerts: typeof deployerAlerts;
16
19
  kolPnl: typeof kolPnl;
17
20
  kolTrendingTokens: typeof kolTrendingTokens;
21
+ kolTokenEntryOrder: typeof kolTokenEntryOrder;
22
+ kolCompare: typeof kolCompare;
23
+ kolAlertsRecent: typeof kolAlertsRecent;
18
24
  createWebhook: typeof createWebhook;
19
25
  listWebhooks: typeof listWebhooks;
20
26
  deleteWebhook: typeof deleteWebhook;
@@ -49,8 +55,8 @@ declare const MadeOnSolPlugin: {
49
55
  action?: "buy" | "sell" | undefined;
50
56
  kol?: string | undefined;
51
57
  }, {
52
- action?: "buy" | "sell" | undefined;
53
58
  limit?: number | undefined;
59
+ action?: "buy" | "sell" | undefined;
54
60
  kol?: string | undefined;
55
61
  }>;
56
62
  handler: (agent: unknown, input: {
@@ -375,10 +381,10 @@ declare const MadeOnSolPlugin: {
375
381
  event_type?: "swap" | "transfer" | undefined;
376
382
  before?: number | undefined;
377
383
  }, {
384
+ limit?: number | undefined;
378
385
  wallet?: string | undefined;
379
386
  action?: "buy" | "sell" | "transfer_in" | "transfer_out" | undefined;
380
387
  event_type?: "swap" | "transfer" | undefined;
381
- limit?: number | undefined;
382
388
  before?: number | undefined;
383
389
  }>;
384
390
  handler: (agent: unknown, input: {
@@ -431,10 +437,121 @@ declare const MadeOnSolPlugin: {
431
437
  message: string;
432
438
  result?: undefined;
433
439
  }>;
440
+ } | {
441
+ name: string;
442
+ similes: string[];
443
+ description: string;
444
+ examples: {
445
+ input: {
446
+ mint: string;
447
+ limit: number;
448
+ };
449
+ output: {
450
+ status: string;
451
+ };
452
+ explanation: string;
453
+ }[][];
454
+ schema: import("zod").ZodObject<{
455
+ mint: import("zod").ZodString;
456
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
457
+ }, "strip", import("zod").ZodTypeAny, {
458
+ mint: string;
459
+ limit: number;
460
+ }, {
461
+ mint: string;
462
+ limit?: number | undefined;
463
+ }>;
464
+ handler: (agent: unknown, input: {
465
+ mint: string;
466
+ limit?: number;
467
+ }) => Promise<{
468
+ status: string;
469
+ result: any;
470
+ message?: undefined;
471
+ } | {
472
+ status: string;
473
+ message: string;
474
+ result?: undefined;
475
+ }>;
476
+ } | {
477
+ name: string;
478
+ similes: string[];
479
+ description: string;
480
+ examples: {
481
+ input: {
482
+ wallets: string[];
483
+ };
484
+ output: {
485
+ status: string;
486
+ };
487
+ explanation: string;
488
+ }[][];
489
+ schema: import("zod").ZodObject<{
490
+ wallets: import("zod").ZodArray<import("zod").ZodString, "many">;
491
+ }, "strip", import("zod").ZodTypeAny, {
492
+ wallets: string[];
493
+ }, {
494
+ wallets: string[];
495
+ }>;
496
+ handler: (agent: unknown, input: {
497
+ wallets: string[];
498
+ }) => Promise<{
499
+ status: string;
500
+ result: any;
501
+ message?: undefined;
502
+ } | {
503
+ status: string;
504
+ message: string;
505
+ result?: undefined;
506
+ }>;
507
+ } | {
508
+ name: string;
509
+ similes: string[];
510
+ description: string;
511
+ examples: {
512
+ input: {
513
+ window: string;
514
+ limit: number;
515
+ };
516
+ output: {
517
+ status: string;
518
+ };
519
+ explanation: string;
520
+ }[][];
521
+ schema: import("zod").ZodObject<{
522
+ window: import("zod").ZodDefault<import("zod").ZodEnum<["5m", "15m", "1h", "6h", "24h"]>>;
523
+ types: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodEnum<["consensus_cluster", "fresh_token_kol_buy", "heating_up"]>, "many">>;
524
+ min_severity: import("zod").ZodOptional<import("zod").ZodEnum<["low", "medium", "high"]>>;
525
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
526
+ }, "strip", import("zod").ZodTypeAny, {
527
+ limit: number;
528
+ window: "24h" | "1h" | "6h" | "5m" | "15m";
529
+ types?: ("consensus_cluster" | "fresh_token_kol_buy" | "heating_up")[] | undefined;
530
+ min_severity?: "low" | "medium" | "high" | undefined;
531
+ }, {
532
+ limit?: number | undefined;
533
+ types?: ("consensus_cluster" | "fresh_token_kol_buy" | "heating_up")[] | undefined;
534
+ window?: "24h" | "1h" | "6h" | "5m" | "15m" | undefined;
535
+ min_severity?: "low" | "medium" | "high" | undefined;
536
+ }>;
537
+ handler: (agent: unknown, input: {
538
+ window?: string;
539
+ types?: string[];
540
+ min_severity?: string;
541
+ limit?: number;
542
+ }) => Promise<{
543
+ status: string;
544
+ result: any;
545
+ message?: undefined;
546
+ } | {
547
+ status: string;
548
+ message: string;
549
+ result?: undefined;
550
+ }>;
434
551
  })[];
435
552
  initialize(_agent: unknown): void;
436
553
  };
437
554
  export default MadeOnSolPlugin;
438
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary };
439
- export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction };
555
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary };
556
+ export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction };
440
557
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
package/dist/index.js CHANGED
@@ -5,7 +5,10 @@ import { deployerAlertsAction } from "./actions/deployerAlerts.js";
5
5
  import { kolPnlAction } from "./actions/kolPnl.js";
6
6
  import { kolTrendingTokensAction } from "./actions/kolTrendingTokens.js";
7
7
  import { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction } from "./actions/walletTracker.js";
8
- import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary } from "./tools/index.js";
8
+ import { kolTokenEntryOrderAction } from "./actions/kolTokenEntryOrder.js";
9
+ import { kolCompareAction } from "./actions/kolCompare.js";
10
+ import { kolAlertsRecentAction } from "./actions/kolAlertsRecent.js";
11
+ import { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary } from "./tools/index.js";
9
12
  const MadeOnSolPlugin = {
10
13
  name: "madeonsol",
11
14
  methods: {
@@ -15,6 +18,9 @@ const MadeOnSolPlugin = {
15
18
  deployerAlerts,
16
19
  kolPnl,
17
20
  kolTrendingTokens,
21
+ kolTokenEntryOrder,
22
+ kolCompare,
23
+ kolAlertsRecent,
18
24
  createWebhook,
19
25
  listWebhooks,
20
26
  deleteWebhook,
@@ -33,6 +39,9 @@ const MadeOnSolPlugin = {
33
39
  deployerAlertsAction,
34
40
  kolPnlAction,
35
41
  kolTrendingTokensAction,
42
+ kolTokenEntryOrderAction,
43
+ kolCompareAction,
44
+ kolAlertsRecentAction,
36
45
  walletTrackerWatchlistAction,
37
46
  walletTrackerAddAction,
38
47
  walletTrackerRemoveAction,
@@ -44,6 +53,6 @@ const MadeOnSolPlugin = {
44
53
  },
45
54
  };
46
55
  export default MadeOnSolPlugin;
47
- export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary };
48
- export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction };
56
+ export { kolFeed, kolCoordination, kolLeaderboard, deployerAlerts, kolPnl, kolTrendingTokens, kolTokenEntryOrder, kolCompare, kolAlertsRecent, createWebhook, listWebhooks, deleteWebhook, testWebhook, getStreamToken, walletTrackerWatchlist, walletTrackerAdd, walletTrackerRemove, walletTrackerTrades, walletTrackerSummary };
57
+ export { kolFeedAction, kolCoordinationAction, kolLeaderboardAction, deployerAlertsAction, kolPnlAction, kolTrendingTokensAction, kolTokenEntryOrderAction, kolCompareAction, kolAlertsRecentAction };
49
58
  export { walletTrackerWatchlistAction, walletTrackerAddAction, walletTrackerRemoveAction, walletTrackerTradesAction, walletTrackerSummaryAction };
@@ -47,6 +47,19 @@ export declare function kolTrendingTokens(agent: Agent, params?: {
47
47
  min_kols?: number;
48
48
  limit?: number;
49
49
  }): Promise<any>;
50
+ export declare function kolTokenEntryOrder(agent: Agent, params: {
51
+ mint: string;
52
+ limit?: number;
53
+ }): Promise<any>;
54
+ export declare function kolCompare(agent: Agent, params: {
55
+ wallets: string[];
56
+ }): Promise<any>;
57
+ export declare function kolAlertsRecent(agent: Agent, params?: {
58
+ window?: string;
59
+ types?: string[];
60
+ min_severity?: string;
61
+ limit?: number;
62
+ }): Promise<any>;
50
63
  export declare function kolPnl(agent: Agent, params: {
51
64
  wallet: string;
52
65
  period?: string;
@@ -106,6 +106,23 @@ export async function kolTrendingTokens(agent, params = {}) {
106
106
  await initAuth(agent);
107
107
  return query("/api/x402/kol/tokens/trending", params);
108
108
  }
109
+ export async function kolTokenEntryOrder(agent, params) {
110
+ await initAuth(agent);
111
+ const { mint, ...rest } = params;
112
+ return query(`/api/x402/kol/tokens/${encodeURIComponent(mint)}/entry-order`, rest);
113
+ }
114
+ export async function kolCompare(agent, params) {
115
+ await initAuth(agent);
116
+ return query("/api/x402/kol/compare", { wallets: params.wallets.join(",") });
117
+ }
118
+ export async function kolAlertsRecent(agent, params = {}) {
119
+ await initAuth(agent);
120
+ const { types, ...rest } = params;
121
+ const flat = { ...rest };
122
+ if (types && types.length > 0)
123
+ flat.types = types.join(",");
124
+ return query("/api/x402/kol/alerts/recent", flat);
125
+ }
109
126
  export async function kolPnl(agent, params) {
110
127
  const qs = params.period ? `?period=${params.period}` : "";
111
128
  return restQuery(agent, "GET", `/kol/${params.wallet}/pnl${qs}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solana-agent-kit-plugin-madeonsol",
3
- "version": "0.6.1",
3
+ "version": "0.7.0",
4
4
  "description": "Solana Agent Kit plugin for MadeOnSol — KOL intelligence and deployer analytics via x402 micropayments",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",