helius-mcp 1.3.0 → 2.0.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.
Files changed (101) hide show
  1. package/CHANGELOG.md +79 -79
  2. package/LICENSE +21 -21
  3. package/README.md +144 -132
  4. package/dist/http.d.ts +1 -1
  5. package/dist/index.js +2 -56
  6. package/dist/results/store.d.ts +8 -0
  7. package/dist/results/store.js +72 -0
  8. package/dist/results/types.d.ts +47 -0
  9. package/dist/results/types.js +1 -0
  10. package/dist/router/action-groups.d.ts +6 -0
  11. package/dist/router/action-groups.js +32 -0
  12. package/dist/router/action-handlers.d.ts +20 -0
  13. package/dist/router/action-handlers.js +125 -0
  14. package/dist/router/actions.d.ts +12 -0
  15. package/dist/router/actions.js +123 -0
  16. package/dist/router/catalog.d.ts +6 -0
  17. package/dist/router/catalog.js +388 -0
  18. package/dist/router/context.d.ts +5 -0
  19. package/dist/router/context.js +10 -0
  20. package/dist/router/dispatch.d.ts +4 -0
  21. package/dist/router/dispatch.js +276 -0
  22. package/dist/router/instructions.d.ts +1 -0
  23. package/dist/router/instructions.js +25 -0
  24. package/dist/router/register.d.ts +2 -0
  25. package/dist/router/register.js +15 -0
  26. package/dist/router/required-params.d.ts +9 -0
  27. package/dist/router/required-params.js +66 -0
  28. package/dist/router/responses.d.ts +29 -0
  29. package/dist/router/responses.js +186 -0
  30. package/dist/router/schemas.d.ts +216 -0
  31. package/dist/router/schemas.js +195 -0
  32. package/dist/router/telemetry.d.ts +27 -0
  33. package/dist/router/telemetry.js +52 -0
  34. package/dist/router/types.d.ts +46 -0
  35. package/dist/router/types.js +1 -0
  36. package/dist/scripts/validate-catalog.d.ts +2 -2
  37. package/dist/scripts/validate-catalog.js +10 -10
  38. package/dist/tools/accounts.js +5 -5
  39. package/dist/tools/assets.js +5 -5
  40. package/dist/tools/auth.js +392 -319
  41. package/dist/tools/config.js +3 -3
  42. package/dist/tools/das-extras.js +6 -6
  43. package/dist/tools/docs.js +55 -41
  44. package/dist/tools/enhanced-websockets.js +13 -13
  45. package/dist/tools/fees.js +3 -3
  46. package/dist/tools/index.d.ts +1 -1
  47. package/dist/tools/index.js +2 -80
  48. package/dist/tools/laserstream.js +20 -23
  49. package/dist/tools/network.js +10 -4
  50. package/dist/tools/plans.d.ts +0 -5
  51. package/dist/tools/plans.js +167 -12
  52. package/dist/tools/product-catalog.d.ts +1 -0
  53. package/dist/tools/product-catalog.js +51 -16
  54. package/dist/tools/recommend.d.ts +0 -1
  55. package/dist/tools/recommend.js +9 -28
  56. package/dist/tools/shared.d.ts +1 -0
  57. package/dist/tools/shared.js +21 -13
  58. package/dist/tools/solana-knowledge.js +23 -7
  59. package/dist/tools/staking.d.ts +2 -0
  60. package/dist/tools/staking.js +268 -0
  61. package/dist/tools/transactions.js +167 -3
  62. package/dist/tools/transfers.js +38 -43
  63. package/dist/tools/wallet.js +27 -16
  64. package/dist/tools/webhooks.js +3 -3
  65. package/dist/tools/zk-compression.d.ts +2 -0
  66. package/dist/tools/zk-compression.js +781 -0
  67. package/dist/utils/config.d.ts +2 -2
  68. package/dist/utils/config.js +68 -6
  69. package/dist/utils/errors.d.ts +10 -1
  70. package/dist/utils/errors.js +46 -12
  71. package/dist/utils/feedback.js +1 -4
  72. package/dist/utils/helius.js +2 -1
  73. package/dist/utils/ows.d.ts +74 -0
  74. package/dist/utils/ows.js +155 -0
  75. package/dist/version.d.ts +1 -1
  76. package/dist/version.js +1 -1
  77. package/package.json +64 -64
  78. package/system-prompts/helius/claude.system.md +200 -170
  79. package/system-prompts/helius/full.md +3212 -2869
  80. package/system-prompts/helius/openai.developer.md +200 -170
  81. package/system-prompts/helius-dflow/claude.system.md +324 -290
  82. package/system-prompts/helius-dflow/full.md +4136 -3648
  83. package/system-prompts/helius-dflow/openai.developer.md +324 -290
  84. package/system-prompts/helius-jupiter/claude.system.md +333 -0
  85. package/system-prompts/helius-jupiter/full.md +5109 -0
  86. package/system-prompts/helius-jupiter/openai.developer.md +333 -0
  87. package/system-prompts/helius-okx/claude.system.md +182 -0
  88. package/system-prompts/helius-okx/full.md +584 -0
  89. package/system-prompts/helius-okx/openai.developer.md +182 -0
  90. package/system-prompts/helius-phantom/claude.system.md +345 -333
  91. package/system-prompts/helius-phantom/full.md +5625 -5473
  92. package/system-prompts/helius-phantom/openai.developer.md +345 -333
  93. package/system-prompts/svm/claude.system.md +159 -159
  94. package/system-prompts/svm/full.md +631 -631
  95. package/system-prompts/svm/openai.developer.md +159 -159
  96. package/dist/scripts/test-htmltotext.d.ts +0 -5
  97. package/dist/scripts/test-htmltotext.js +0 -67
  98. package/dist/scripts/test-solana-knowledge.d.ts +0 -9
  99. package/dist/scripts/test-solana-knowledge.js +0 -272
  100. package/dist/scripts/validate-templates.d.ts +0 -12
  101. package/dist/scripts/validate-templates.js +0 -94
@@ -0,0 +1,72 @@
1
+ import { randomUUID } from 'node:crypto';
2
+ const MAX_RESULTS = 10;
3
+ const MAX_TOTAL_PAYLOAD_BYTES = 250 * 1024;
4
+ const RESULT_TTL_MS = 5 * 60 * 1000;
5
+ const results = new Map();
6
+ function estimateBytes(value) {
7
+ return Buffer.byteLength(JSON.stringify(value), 'utf8');
8
+ }
9
+ function sweepExpired(now = Date.now()) {
10
+ for (const [resultId, result] of results) {
11
+ if (result.expiresAt <= now) {
12
+ results.delete(resultId);
13
+ }
14
+ }
15
+ }
16
+ function currentTotalBytes() {
17
+ let total = 0;
18
+ for (const result of results.values()) {
19
+ total += result.payloadSize;
20
+ }
21
+ return total;
22
+ }
23
+ function touch(resultId, result) {
24
+ results.delete(resultId);
25
+ results.set(resultId, result);
26
+ }
27
+ function evictToFit() {
28
+ sweepExpired();
29
+ while (results.size > MAX_RESULTS || currentTotalBytes() > MAX_TOTAL_PAYLOAD_BYTES) {
30
+ const oldest = results.keys().next().value;
31
+ if (!oldest) {
32
+ break;
33
+ }
34
+ results.delete(oldest);
35
+ }
36
+ }
37
+ export function putStoredResult(input) {
38
+ const createdAt = Date.now();
39
+ const payloadSize = estimateBytes(input.payload);
40
+ const stored = {
41
+ ...input,
42
+ resultId: randomUUID(),
43
+ createdAt,
44
+ expiresAt: createdAt + RESULT_TTL_MS,
45
+ payloadSize,
46
+ };
47
+ results.set(stored.resultId, stored);
48
+ evictToFit();
49
+ return stored;
50
+ }
51
+ export function getStoredResult(resultId, ownerSessionKey) {
52
+ sweepExpired();
53
+ const result = results.get(resultId);
54
+ if (!result) {
55
+ return null;
56
+ }
57
+ if (result.ownerSessionKey !== ownerSessionKey) {
58
+ return null;
59
+ }
60
+ touch(resultId, result);
61
+ return result;
62
+ }
63
+ export function clearStoredResults() {
64
+ results.clear();
65
+ }
66
+ export function getStoredResultStats() {
67
+ sweepExpired();
68
+ return {
69
+ count: results.size,
70
+ totalPayloadBytes: currentTotalBytes(),
71
+ };
72
+ }
@@ -0,0 +1,47 @@
1
+ import type { RoutedPublicToolName } from '../router/action-groups.js';
2
+ import type { ActionName } from '../router/actions.js';
3
+ import type { DetailLevel, ResponseFamily } from '../router/types.js';
4
+ export type TransactionHistoryContinuation = {
5
+ kind: 'signaturesQuick';
6
+ nextBefore?: string;
7
+ lastSeenSignature?: string;
8
+ until?: string;
9
+ } | {
10
+ kind: 'historyApi';
11
+ paginationToken?: string;
12
+ } | {
13
+ kind: 'rawApi';
14
+ paginationToken?: string;
15
+ };
16
+ export type ContinuationState = {
17
+ model: 'none';
18
+ } | {
19
+ model: 'page';
20
+ nextPage?: number;
21
+ } | {
22
+ model: 'transactionHistory';
23
+ next?: TransactionHistoryContinuation;
24
+ };
25
+ export type ActionRecipe = {
26
+ publicTool: RoutedPublicToolName;
27
+ action: ActionName;
28
+ params: Record<string, unknown>;
29
+ responseFamily: ResponseFamily;
30
+ defaultDetail: DetailLevel;
31
+ };
32
+ export type ResultPayload = {
33
+ recipe: ActionRecipe;
34
+ continuation: ContinuationState;
35
+ sectionHints?: string[];
36
+ };
37
+ export type StoredResult = {
38
+ resultId: string;
39
+ kind: ResponseFamily;
40
+ ownerSessionKey: string;
41
+ summary: string;
42
+ availableExpansions: string[];
43
+ createdAt: number;
44
+ expiresAt: number;
45
+ payload: ResultPayload;
46
+ payloadSize: number;
47
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type ActionName } from './actions.js';
2
+ export declare const PUBLIC_TOOL_NAMES: readonly ["heliusAccount", "heliusWallet", "heliusAsset", "heliusTransaction", "heliusChain", "heliusStreaming", "heliusKnowledge", "heliusWrite", "heliusCompression", "expandResult"];
3
+ export type PublicToolName = typeof PUBLIC_TOOL_NAMES[number];
4
+ export type RoutedPublicToolName = Exclude<PublicToolName, 'expandResult'>;
5
+ export declare const ACTION_GROUPS: Record<RoutedPublicToolName, readonly ActionName[]>;
6
+ export declare function findPublicToolForAction(action: ActionName): RoutedPublicToolName;
@@ -0,0 +1,32 @@
1
+ import { HELIUS_ACCOUNT_ACTIONS, HELIUS_ASSET_ACTIONS, HELIUS_CHAIN_ACTIONS, HELIUS_COMPRESSION_ACTIONS, HELIUS_KNOWLEDGE_ACTIONS, HELIUS_STREAMING_ACTIONS, HELIUS_TRANSACTION_ACTIONS, HELIUS_WALLET_ACTIONS, HELIUS_WRITE_ACTIONS, } from './actions.js';
2
+ export const PUBLIC_TOOL_NAMES = [
3
+ 'heliusAccount',
4
+ 'heliusWallet',
5
+ 'heliusAsset',
6
+ 'heliusTransaction',
7
+ 'heliusChain',
8
+ 'heliusStreaming',
9
+ 'heliusKnowledge',
10
+ 'heliusWrite',
11
+ 'heliusCompression',
12
+ 'expandResult',
13
+ ];
14
+ export const ACTION_GROUPS = {
15
+ heliusAccount: HELIUS_ACCOUNT_ACTIONS,
16
+ heliusWallet: HELIUS_WALLET_ACTIONS,
17
+ heliusAsset: HELIUS_ASSET_ACTIONS,
18
+ heliusTransaction: HELIUS_TRANSACTION_ACTIONS,
19
+ heliusChain: HELIUS_CHAIN_ACTIONS,
20
+ heliusStreaming: HELIUS_STREAMING_ACTIONS,
21
+ heliusKnowledge: HELIUS_KNOWLEDGE_ACTIONS,
22
+ heliusWrite: HELIUS_WRITE_ACTIONS,
23
+ heliusCompression: HELIUS_COMPRESSION_ACTIONS,
24
+ };
25
+ export function findPublicToolForAction(action) {
26
+ for (const [tool, actions] of Object.entries(ACTION_GROUPS)) {
27
+ if (actions.includes(action)) {
28
+ return tool;
29
+ }
30
+ }
31
+ throw new Error(`No public tool mapping found for action "${action}"`);
32
+ }
@@ -0,0 +1,20 @@
1
+ import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import type { ActionName } from './actions.js';
3
+ export type ActionHandlerResponse = {
4
+ content?: Array<{
5
+ type?: string;
6
+ text?: string;
7
+ }>;
8
+ isError?: boolean;
9
+ structuredContent?: unknown;
10
+ };
11
+ export type ActionHandler = (params: Record<string, unknown>, extra: unknown) => Promise<ActionHandlerResponse> | ActionHandlerResponse;
12
+ export type ActionHandlerDefinition = {
13
+ name: ActionName;
14
+ description?: string;
15
+ inputSchema?: unknown;
16
+ handler: ActionHandler;
17
+ };
18
+ export declare function registerActionHandlers(server: McpServer): void;
19
+ export declare function getActionHandlers(): Map<ActionName, ActionHandlerDefinition>;
20
+ export declare function callActionHandler(action: ActionName, params: Record<string, unknown>, extra: unknown): Promise<ActionHandlerResponse>;
@@ -0,0 +1,125 @@
1
+ import { z } from 'zod';
2
+ import { registerAuthTools } from '../tools/auth.js';
3
+ import { registerConfigTools } from '../tools/config.js';
4
+ import { registerPlanTools } from '../tools/plans.js';
5
+ import { registerBalanceTools } from '../tools/balance.js';
6
+ import { registerTransactionTools } from '../tools/transactions.js';
7
+ import { registerAssetTools } from '../tools/assets.js';
8
+ import { registerAccountTools } from '../tools/accounts.js';
9
+ import { registerFeeTools } from '../tools/fees.js';
10
+ import { registerNetworkTools } from '../tools/network.js';
11
+ import { registerBlockTools } from '../tools/blocks.js';
12
+ import { registerTokenTools } from '../tools/tokens.js';
13
+ import { registerDasExtraTools } from '../tools/das-extras.js';
14
+ import { registerWebhookTools } from '../tools/webhooks.js';
15
+ import { registerEnhancedWebSocketTools } from '../tools/enhanced-websockets.js';
16
+ import { registerLaserstreamTools } from '../tools/laserstream.js';
17
+ import { registerWalletTools } from '../tools/wallet.js';
18
+ import { registerDocsTools } from '../tools/docs.js';
19
+ import { registerGuideTools } from '../tools/guides.js';
20
+ import { registerRecommendTools } from '../tools/recommend.js';
21
+ import { registerSolanaKnowledgeTools } from '../tools/solana-knowledge.js';
22
+ import { registerTransferTools } from '../tools/transfers.js';
23
+ import { registerZkCompressionTools } from '../tools/zk-compression.js';
24
+ import { registerStakingTools } from '../tools/staking.js';
25
+ function isZodType(value) {
26
+ return typeof value === 'object' && value !== null && typeof value.safeParse === 'function';
27
+ }
28
+ function buildRuntimeSchema(inputSchema) {
29
+ if (isZodType(inputSchema) && 'passthrough' in inputSchema && typeof inputSchema.passthrough === 'function') {
30
+ return inputSchema.passthrough();
31
+ }
32
+ if (!inputSchema || typeof inputSchema !== 'object' || Array.isArray(inputSchema)) {
33
+ return null;
34
+ }
35
+ const rawShape = {};
36
+ for (const [key, value] of Object.entries(inputSchema)) {
37
+ if (isZodType(value)) {
38
+ rawShape[key] = value;
39
+ }
40
+ }
41
+ if (Object.keys(rawShape).length === 0) {
42
+ return null;
43
+ }
44
+ return z.object(rawShape).passthrough();
45
+ }
46
+ function materializeActionParams(tool, params) {
47
+ const schema = buildRuntimeSchema(tool.inputSchema);
48
+ if (!schema) {
49
+ return params;
50
+ }
51
+ const parsed = schema.safeParse(params);
52
+ if (parsed.success) {
53
+ return parsed.data;
54
+ }
55
+ const issue = parsed.error.issues[0];
56
+ const path = issue?.path?.length ? issue.path.join('.') : 'input';
57
+ const message = `Invalid parameters for ${tool.name}: ${path} ${issue?.message ?? 'is invalid'}`.trim();
58
+ throw new Error(message);
59
+ }
60
+ class ActionHandlerCollector {
61
+ tools = new Map();
62
+ tool(name, ...rest) {
63
+ let description;
64
+ let inputSchema;
65
+ if (typeof rest[0] === 'string') {
66
+ description = rest.shift();
67
+ }
68
+ if (rest.length > 1 && typeof rest[0] === 'object' && rest[0] !== null) {
69
+ inputSchema = rest.shift();
70
+ }
71
+ const handler = rest[0];
72
+ if (typeof handler !== 'function') {
73
+ throw new Error(`Action handler "${name}" is missing a callable handler`);
74
+ }
75
+ this.tools.set(name, {
76
+ name: name,
77
+ description,
78
+ inputSchema,
79
+ handler: handler,
80
+ });
81
+ }
82
+ }
83
+ let cachedActionHandlers = null;
84
+ export function registerActionHandlers(server) {
85
+ registerAuthTools(server);
86
+ registerConfigTools(server);
87
+ registerPlanTools(server);
88
+ registerBalanceTools(server);
89
+ registerTransactionTools(server);
90
+ registerAssetTools(server);
91
+ registerAccountTools(server);
92
+ registerFeeTools(server);
93
+ registerNetworkTools(server);
94
+ registerBlockTools(server);
95
+ registerTokenTools(server);
96
+ registerDasExtraTools(server);
97
+ registerWebhookTools(server);
98
+ registerEnhancedWebSocketTools(server);
99
+ registerLaserstreamTools(server);
100
+ registerWalletTools(server);
101
+ registerDocsTools(server);
102
+ registerGuideTools(server);
103
+ registerRecommendTools(server);
104
+ registerSolanaKnowledgeTools(server);
105
+ registerTransferTools(server);
106
+ registerZkCompressionTools(server);
107
+ registerStakingTools(server);
108
+ }
109
+ export function getActionHandlers() {
110
+ if (cachedActionHandlers) {
111
+ return cachedActionHandlers;
112
+ }
113
+ const collector = new ActionHandlerCollector();
114
+ registerActionHandlers(collector);
115
+ cachedActionHandlers = collector.tools;
116
+ return cachedActionHandlers;
117
+ }
118
+ export async function callActionHandler(action, params, extra) {
119
+ const tool = getActionHandlers().get(action);
120
+ if (!tool) {
121
+ throw new Error(`No action handler registered for action "${action}"`);
122
+ }
123
+ const normalizedParams = materializeActionParams(tool, params);
124
+ return await Promise.resolve(tool.handler(normalizedParams, extra));
125
+ }
@@ -0,0 +1,12 @@
1
+ export declare const HELIUS_ACCOUNT_ACTIONS: readonly ["getStarted", "setHeliusApiKey", "generateKeypair", "signup", "getAccountStatus", "getAccountPlan", "getHeliusPlanInfo", "compareHeliusPlans", "previewUpgrade", "upgradePlan", "payRenewal", "purchaseCredits"];
2
+ export declare const HELIUS_WALLET_ACTIONS: readonly ["getBalance", "getTokenBalances", "getWalletBalances", "getWalletHistory", "getWalletTransfers", "getWalletIdentity", "batchWalletIdentity", "getWalletFundedBy"];
3
+ export declare const HELIUS_ASSET_ACTIONS: readonly ["getAsset", "getAssetsByOwner", "searchAssets", "getAssetsByGroup", "getAssetProof", "getAssetProofBatch", "getSignaturesForAsset", "getNftEditions", "getTokenHolders"];
4
+ export declare const HELIUS_TRANSACTION_ACTIONS: readonly ["parseTransactions", "getTransactionHistory", "getTransfersByAddress"];
5
+ export declare const HELIUS_CHAIN_ACTIONS: readonly ["getAccountInfo", "getTokenAccounts", "getProgramAccounts", "getBlock", "getNetworkStatus", "getPriorityFeeEstimate", "getStakeAccounts", "getWithdrawableAmount"];
6
+ export declare const HELIUS_STREAMING_ACTIONS: readonly ["createWebhook", "getAllWebhooks", "getWebhookByID", "updateWebhook", "deleteWebhook", "transactionSubscribe", "accountSubscribe", "laserstreamSubscribe"];
7
+ export declare const HELIUS_KNOWLEDGE_ACTIONS: readonly ["lookupHeliusDocs", "listHeliusDocTopics", "getHeliusCreditsInfo", "getRateLimitInfo", "troubleshootError", "recommendStack", "getSIMD", "listSIMDs", "searchSolanaDocs", "readSolanaSourceFile", "fetchHeliusBlog", "getPumpFunGuide", "getSenderInfo", "getWebhookGuide", "getLatencyComparison", "getEnhancedWebSocketInfo", "getLaserstreamInfo"];
8
+ export declare const HELIUS_WRITE_ACTIONS: readonly ["transferSol", "transferToken", "stakeSOL", "unstakeSOL", "withdrawStake"];
9
+ export declare const HELIUS_COMPRESSION_ACTIONS: readonly ["getCompressedAccount", "getCompressedAccountsByOwner", "getMultipleCompressedAccounts", "getCompressedBalance", "getCompressedBalanceByOwner", "getCompressedMintTokenHolders", "getCompressedTokenAccountBalance", "getCompressedTokenAccountsByOwner", "getCompressedTokenAccountsByDelegate", "getCompressedTokenBalancesByOwnerV2", "getCompressedAccountProof", "getMultipleCompressedAccountProofs", "getMultipleNewAddressProofs", "getCompressionSignaturesForAccount", "getCompressionSignaturesForAddress", "getCompressionSignaturesForOwner", "getCompressionSignaturesForTokenOwner", "getLatestCompressionSignatures", "getLatestNonVotingSignatures", "getTransactionWithCompressionInfo", "getValidityProof", "getIndexerHealth", "getIndexerSlot"];
10
+ export declare const ACTION_NAMES: readonly ["getStarted", "setHeliusApiKey", "generateKeypair", "signup", "getAccountStatus", "getAccountPlan", "getHeliusPlanInfo", "compareHeliusPlans", "previewUpgrade", "upgradePlan", "payRenewal", "purchaseCredits", "getBalance", "getTokenBalances", "getWalletBalances", "getWalletHistory", "getWalletTransfers", "getWalletIdentity", "batchWalletIdentity", "getWalletFundedBy", "getAsset", "getAssetsByOwner", "searchAssets", "getAssetsByGroup", "getAssetProof", "getAssetProofBatch", "getSignaturesForAsset", "getNftEditions", "getTokenHolders", "parseTransactions", "getTransactionHistory", "getTransfersByAddress", "getAccountInfo", "getTokenAccounts", "getProgramAccounts", "getBlock", "getNetworkStatus", "getPriorityFeeEstimate", "getStakeAccounts", "getWithdrawableAmount", "createWebhook", "getAllWebhooks", "getWebhookByID", "updateWebhook", "deleteWebhook", "transactionSubscribe", "accountSubscribe", "laserstreamSubscribe", "lookupHeliusDocs", "listHeliusDocTopics", "getHeliusCreditsInfo", "getRateLimitInfo", "troubleshootError", "recommendStack", "getSIMD", "listSIMDs", "searchSolanaDocs", "readSolanaSourceFile", "fetchHeliusBlog", "getPumpFunGuide", "getSenderInfo", "getWebhookGuide", "getLatencyComparison", "getEnhancedWebSocketInfo", "getLaserstreamInfo", "transferSol", "transferToken", "stakeSOL", "unstakeSOL", "withdrawStake", "getCompressedAccount", "getCompressedAccountsByOwner", "getMultipleCompressedAccounts", "getCompressedBalance", "getCompressedBalanceByOwner", "getCompressedMintTokenHolders", "getCompressedTokenAccountBalance", "getCompressedTokenAccountsByOwner", "getCompressedTokenAccountsByDelegate", "getCompressedTokenBalancesByOwnerV2", "getCompressedAccountProof", "getMultipleCompressedAccountProofs", "getMultipleNewAddressProofs", "getCompressionSignaturesForAccount", "getCompressionSignaturesForAddress", "getCompressionSignaturesForOwner", "getCompressionSignaturesForTokenOwner", "getLatestCompressionSignatures", "getLatestNonVotingSignatures", "getTransactionWithCompressionInfo", "getValidityProof", "getIndexerHealth", "getIndexerSlot"];
11
+ export type ActionName = typeof ACTION_NAMES[number];
12
+ export declare const ACTION_NAME_SET: Set<string>;
@@ -0,0 +1,123 @@
1
+ export const HELIUS_ACCOUNT_ACTIONS = [
2
+ 'getStarted',
3
+ 'setHeliusApiKey',
4
+ 'generateKeypair',
5
+ 'signup',
6
+ 'getAccountStatus',
7
+ 'getAccountPlan',
8
+ 'getHeliusPlanInfo',
9
+ 'compareHeliusPlans',
10
+ 'previewUpgrade',
11
+ 'upgradePlan',
12
+ 'payRenewal',
13
+ 'purchaseCredits',
14
+ ];
15
+ export const HELIUS_WALLET_ACTIONS = [
16
+ 'getBalance',
17
+ 'getTokenBalances',
18
+ 'getWalletBalances',
19
+ 'getWalletHistory',
20
+ 'getWalletTransfers',
21
+ 'getWalletIdentity',
22
+ 'batchWalletIdentity',
23
+ 'getWalletFundedBy',
24
+ ];
25
+ export const HELIUS_ASSET_ACTIONS = [
26
+ 'getAsset',
27
+ 'getAssetsByOwner',
28
+ 'searchAssets',
29
+ 'getAssetsByGroup',
30
+ 'getAssetProof',
31
+ 'getAssetProofBatch',
32
+ 'getSignaturesForAsset',
33
+ 'getNftEditions',
34
+ 'getTokenHolders',
35
+ ];
36
+ export const HELIUS_TRANSACTION_ACTIONS = [
37
+ 'parseTransactions',
38
+ 'getTransactionHistory',
39
+ 'getTransfersByAddress',
40
+ ];
41
+ export const HELIUS_CHAIN_ACTIONS = [
42
+ 'getAccountInfo',
43
+ 'getTokenAccounts',
44
+ 'getProgramAccounts',
45
+ 'getBlock',
46
+ 'getNetworkStatus',
47
+ 'getPriorityFeeEstimate',
48
+ 'getStakeAccounts',
49
+ 'getWithdrawableAmount',
50
+ ];
51
+ export const HELIUS_STREAMING_ACTIONS = [
52
+ 'createWebhook',
53
+ 'getAllWebhooks',
54
+ 'getWebhookByID',
55
+ 'updateWebhook',
56
+ 'deleteWebhook',
57
+ 'transactionSubscribe',
58
+ 'accountSubscribe',
59
+ 'laserstreamSubscribe',
60
+ ];
61
+ export const HELIUS_KNOWLEDGE_ACTIONS = [
62
+ 'lookupHeliusDocs',
63
+ 'listHeliusDocTopics',
64
+ 'getHeliusCreditsInfo',
65
+ 'getRateLimitInfo',
66
+ 'troubleshootError',
67
+ 'recommendStack',
68
+ 'getSIMD',
69
+ 'listSIMDs',
70
+ 'searchSolanaDocs',
71
+ 'readSolanaSourceFile',
72
+ 'fetchHeliusBlog',
73
+ 'getPumpFunGuide',
74
+ 'getSenderInfo',
75
+ 'getWebhookGuide',
76
+ 'getLatencyComparison',
77
+ 'getEnhancedWebSocketInfo',
78
+ 'getLaserstreamInfo',
79
+ ];
80
+ export const HELIUS_WRITE_ACTIONS = [
81
+ 'transferSol',
82
+ 'transferToken',
83
+ 'stakeSOL',
84
+ 'unstakeSOL',
85
+ 'withdrawStake',
86
+ ];
87
+ export const HELIUS_COMPRESSION_ACTIONS = [
88
+ 'getCompressedAccount',
89
+ 'getCompressedAccountsByOwner',
90
+ 'getMultipleCompressedAccounts',
91
+ 'getCompressedBalance',
92
+ 'getCompressedBalanceByOwner',
93
+ 'getCompressedMintTokenHolders',
94
+ 'getCompressedTokenAccountBalance',
95
+ 'getCompressedTokenAccountsByOwner',
96
+ 'getCompressedTokenAccountsByDelegate',
97
+ 'getCompressedTokenBalancesByOwnerV2',
98
+ 'getCompressedAccountProof',
99
+ 'getMultipleCompressedAccountProofs',
100
+ 'getMultipleNewAddressProofs',
101
+ 'getCompressionSignaturesForAccount',
102
+ 'getCompressionSignaturesForAddress',
103
+ 'getCompressionSignaturesForOwner',
104
+ 'getCompressionSignaturesForTokenOwner',
105
+ 'getLatestCompressionSignatures',
106
+ 'getLatestNonVotingSignatures',
107
+ 'getTransactionWithCompressionInfo',
108
+ 'getValidityProof',
109
+ 'getIndexerHealth',
110
+ 'getIndexerSlot',
111
+ ];
112
+ export const ACTION_NAMES = [
113
+ ...HELIUS_ACCOUNT_ACTIONS,
114
+ ...HELIUS_WALLET_ACTIONS,
115
+ ...HELIUS_ASSET_ACTIONS,
116
+ ...HELIUS_TRANSACTION_ACTIONS,
117
+ ...HELIUS_CHAIN_ACTIONS,
118
+ ...HELIUS_STREAMING_ACTIONS,
119
+ ...HELIUS_KNOWLEDGE_ACTIONS,
120
+ ...HELIUS_WRITE_ACTIONS,
121
+ ...HELIUS_COMPRESSION_ACTIONS,
122
+ ];
123
+ export const ACTION_NAME_SET = new Set(ACTION_NAMES);
@@ -0,0 +1,6 @@
1
+ import { type ActionName } from './actions.js';
2
+ import { type RoutedPublicToolName } from './action-groups.js';
3
+ import type { ActionCatalogEntry } from './types.js';
4
+ export declare const ACTION_CATALOG: Record<ActionName, ActionCatalogEntry>;
5
+ export declare function getActionCatalogEntry(action: ActionName): ActionCatalogEntry;
6
+ export declare function getActionsForTool(tool: RoutedPublicToolName): ActionName[];