@cryptoquant_official/mcp 0.0.5 → 0.0.7

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 (121) hide show
  1. package/README.md +306 -60
  2. package/dist/ai-sdk/execute.d.ts +35 -0
  3. package/dist/ai-sdk/execute.d.ts.map +1 -0
  4. package/dist/ai-sdk/execute.js +531 -0
  5. package/dist/ai-sdk/execute.js.map +1 -0
  6. package/dist/ai-sdk/index.d.ts +51 -0
  7. package/dist/ai-sdk/index.d.ts.map +1 -0
  8. package/dist/ai-sdk/index.js +54 -0
  9. package/dist/ai-sdk/index.js.map +1 -0
  10. package/dist/ai-sdk/prompts.d.ts +34 -0
  11. package/dist/ai-sdk/prompts.d.ts.map +1 -0
  12. package/dist/ai-sdk/prompts.js +74 -0
  13. package/dist/ai-sdk/prompts.js.map +1 -0
  14. package/dist/ai-sdk/schemas.d.ts +66 -0
  15. package/dist/ai-sdk/schemas.d.ts.map +1 -0
  16. package/dist/ai-sdk/schemas.js +136 -0
  17. package/dist/ai-sdk/schemas.js.map +1 -0
  18. package/dist/ai-sdk/tools.d.ts +165 -0
  19. package/dist/ai-sdk/tools.d.ts.map +1 -0
  20. package/dist/ai-sdk/tools.js +152 -0
  21. package/dist/ai-sdk/tools.js.map +1 -0
  22. package/dist/ai-sdk/types.d.ts +149 -0
  23. package/dist/ai-sdk/types.d.ts.map +1 -0
  24. package/dist/ai-sdk/types.js +5 -0
  25. package/dist/ai-sdk/types.js.map +1 -0
  26. package/dist/core/auth/storage.d.ts.map +1 -0
  27. package/dist/core/auth/storage.js.map +1 -0
  28. package/dist/core/cache/storage.d.ts +110 -0
  29. package/dist/core/cache/storage.d.ts.map +1 -0
  30. package/dist/core/cache/storage.js +356 -0
  31. package/dist/core/cache/storage.js.map +1 -0
  32. package/dist/core/cache/summary.d.ts.map +1 -0
  33. package/dist/core/cache/summary.js.map +1 -0
  34. package/dist/{cache → core/cache}/types.d.ts +25 -0
  35. package/dist/{cache → core/cache}/types.d.ts.map +1 -1
  36. package/dist/core/cache/types.js.map +1 -0
  37. package/dist/core/config.d.ts.map +1 -0
  38. package/dist/core/config.js.map +1 -0
  39. package/dist/core/discovery.d.ts.map +1 -0
  40. package/dist/core/discovery.js.map +1 -0
  41. package/dist/core/index.d.ts +16 -0
  42. package/dist/core/index.d.ts.map +1 -0
  43. package/dist/core/index.js +19 -0
  44. package/dist/core/index.js.map +1 -0
  45. package/dist/{permissions.d.ts → core/permissions.d.ts} +1 -1
  46. package/dist/core/permissions.d.ts.map +1 -0
  47. package/dist/{permissions.js → core/permissions.js} +6 -6
  48. package/dist/core/permissions.js.map +1 -0
  49. package/dist/core/plan-limits.d.ts.map +1 -0
  50. package/dist/core/plan-limits.js.map +1 -0
  51. package/dist/core/utils.d.ts.map +1 -0
  52. package/dist/core/utils.js.map +1 -0
  53. package/dist/http/chat-proxy.d.ts +32 -0
  54. package/dist/http/chat-proxy.d.ts.map +1 -0
  55. package/dist/http/chat-proxy.js +305 -0
  56. package/dist/http/chat-proxy.js.map +1 -0
  57. package/dist/http/index.d.ts +16 -0
  58. package/dist/http/index.d.ts.map +1 -0
  59. package/dist/http/index.js +26 -0
  60. package/dist/http/index.js.map +1 -0
  61. package/dist/http/server.d.ts +20 -0
  62. package/dist/http/server.d.ts.map +1 -0
  63. package/dist/http/server.js +204 -0
  64. package/dist/http/server.js.map +1 -0
  65. package/dist/index.d.ts +8 -16
  66. package/dist/index.d.ts.map +1 -1
  67. package/dist/index.js +17 -28
  68. package/dist/index.js.map +1 -1
  69. package/dist/mcp/index.d.ts +6 -0
  70. package/dist/mcp/index.d.ts.map +1 -0
  71. package/dist/mcp/index.js +6 -0
  72. package/dist/mcp/index.js.map +1 -0
  73. package/dist/mcp/tools/auth.d.ts.map +1 -0
  74. package/dist/{tools → mcp/tools}/auth.js +10 -8
  75. package/dist/mcp/tools/auth.js.map +1 -0
  76. package/dist/mcp/tools/core.d.ts.map +1 -0
  77. package/dist/{tools → mcp/tools}/core.js +32 -145
  78. package/dist/mcp/tools/core.js.map +1 -0
  79. package/dist/shared/metrics-data.generated.d.ts +176 -0
  80. package/dist/shared/metrics-data.generated.d.ts.map +1 -0
  81. package/dist/shared/metrics-data.generated.js +3077 -0
  82. package/dist/shared/metrics-data.generated.js.map +1 -0
  83. package/package.json +41 -4
  84. package/dist/auth/storage.d.ts.map +0 -1
  85. package/dist/auth/storage.js.map +0 -1
  86. package/dist/cache/storage.d.ts +0 -47
  87. package/dist/cache/storage.d.ts.map +0 -1
  88. package/dist/cache/storage.js +0 -140
  89. package/dist/cache/storage.js.map +0 -1
  90. package/dist/cache/summary.d.ts.map +0 -1
  91. package/dist/cache/summary.js.map +0 -1
  92. package/dist/cache/types.js.map +0 -1
  93. package/dist/config.d.ts.map +0 -1
  94. package/dist/config.js.map +0 -1
  95. package/dist/discovery.d.ts.map +0 -1
  96. package/dist/discovery.js.map +0 -1
  97. package/dist/permissions.d.ts.map +0 -1
  98. package/dist/permissions.js.map +0 -1
  99. package/dist/plan-limits.d.ts.map +0 -1
  100. package/dist/plan-limits.js.map +0 -1
  101. package/dist/tools/auth.d.ts.map +0 -1
  102. package/dist/tools/auth.js.map +0 -1
  103. package/dist/tools/core.d.ts.map +0 -1
  104. package/dist/tools/core.js.map +0 -1
  105. package/dist/utils.d.ts.map +0 -1
  106. package/dist/utils.js.map +0 -1
  107. /package/dist/{auth → core/auth}/storage.d.ts +0 -0
  108. /package/dist/{auth → core/auth}/storage.js +0 -0
  109. /package/dist/{cache → core/cache}/summary.d.ts +0 -0
  110. /package/dist/{cache → core/cache}/summary.js +0 -0
  111. /package/dist/{cache → core/cache}/types.js +0 -0
  112. /package/dist/{config.d.ts → core/config.d.ts} +0 -0
  113. /package/dist/{config.js → core/config.js} +0 -0
  114. /package/dist/{discovery.d.ts → core/discovery.d.ts} +0 -0
  115. /package/dist/{discovery.js → core/discovery.js} +0 -0
  116. /package/dist/{plan-limits.d.ts → core/plan-limits.d.ts} +0 -0
  117. /package/dist/{plan-limits.js → core/plan-limits.js} +0 -0
  118. /package/dist/{utils.d.ts → core/utils.d.ts} +0 -0
  119. /package/dist/{utils.js → core/utils.js} +0 -0
  120. /package/dist/{tools → mcp/tools}/auth.d.ts +0 -0
  121. /package/dist/{tools → mcp/tools}/core.d.ts +0 -0
package/README.md CHANGED
@@ -1,20 +1,35 @@
1
1
  # @cryptoquant_official/mcp
2
2
 
3
- CryptoQuant MCP Server for on-chain analytics in Claude and AI coding agents.
3
+ CryptoQuant on-chain analytics for Claude and AI applications.
4
4
 
5
- ## Installation
5
+ ## Integration Modes
6
6
 
7
- ### Claude Code / Claude Desktop
7
+ | Mode | Use Case | Streaming | Setup |
8
+ |------|----------|-----------|-------|
9
+ | [**MCP**](#mode-1-mcp-claude-desktopcode) | Claude Desktop, Claude Code, Cursor | - | Config file |
10
+ | [**AI SDK**](#mode-2-ai-sdk-nextjs) | Next.js web apps | ✅ | npm package |
11
+ | [**HTTP**](#mode-3-http-chat-proxy) | Any backend / non-Node.js | ❌ | Standalone server |
8
12
 
9
- Add to your MCP configuration:
13
+ **Get your API key**: [cryptoquant.com/settings/api](https://cryptoquant.com/settings/api)
14
+
15
+ ---
16
+
17
+ ## Mode 1: MCP (Claude Desktop/Code)
18
+
19
+ For Claude Desktop, Claude Code, Cursor, and other MCP-compatible apps.
10
20
 
11
- **Claude Code** (`~/.claude/mcp.json` or project `.mcp.json`):
21
+ ### Setup
22
+
23
+ **Claude Code** (`~/.claude/mcp.json` or `.mcp.json`):
12
24
  ```json
13
25
  {
14
26
  "mcpServers": {
15
27
  "cryptoquant": {
16
28
  "command": "npx",
17
- "args": ["-y", "@cryptoquant_official/mcp"]
29
+ "args": ["-y", "@cryptoquant_official/mcp"],
30
+ "env": {
31
+ "CRYPTOQUANT_API_KEY": "your-api-key"
32
+ }
18
33
  }
19
34
  }
20
35
  }
@@ -26,51 +41,302 @@ Add to your MCP configuration:
26
41
  "mcpServers": {
27
42
  "cryptoquant": {
28
43
  "command": "npx",
29
- "args": ["-y", "@cryptoquant_official/mcp"]
44
+ "args": ["-y", "@cryptoquant_official/mcp"],
45
+ "env": {
46
+ "CRYPTOQUANT_API_KEY": "your-api-key"
47
+ }
30
48
  }
31
49
  }
32
50
  }
33
51
  ```
34
52
 
35
- Then restart your app.
53
+ Restart your app after configuration.
54
+
55
+ ### Usage
56
+
57
+ ```
58
+ User: "Is Bitcoin overvalued?"
59
+
60
+ Claude: Let me check the MVRV ratio...
61
+ → Calls query_data({ endpoint: "/v1/btc/market-data/mvrv" })
62
+ → Returns analysis with current valuation status
63
+ ```
64
+
65
+ ---
36
66
 
37
- ### Other MCP-Compatible Apps (Cursor, etc.)
67
+ ## Mode 2: AI SDK (Next.js)
68
+
69
+ For Next.js web apps with streaming responses via Vercel AI SDK.
70
+
71
+ ### Installation
72
+
73
+ ```bash
74
+ npm install @cryptoquant_official/mcp ai @ai-sdk/react @ai-sdk/anthropic
75
+ ```
76
+
77
+ ### Environment Variables
78
+
79
+ ```env
80
+ # .env.local
81
+ ANTHROPIC_API_KEY=sk-ant-...
82
+ CRYPTOQUANT_API_KEY=cq-...
83
+ ```
38
84
 
39
- Add the same configuration to your app's MCP settings file.
85
+ > `@ai-sdk/anthropic` automatically reads `ANTHROPIC_API_KEY`.
40
86
 
41
- ## Authentication
87
+ ### API Route
42
88
 
43
- Configure your API key using one of these methods:
89
+ ```typescript
90
+ // app/api/chat/route.ts
91
+ import { streamText } from "ai";
92
+ import { anthropic } from "@ai-sdk/anthropic";
93
+ import { createCryptoQuantTools } from "@cryptoquant_official/mcp/ai-sdk";
44
94
 
45
- ### Option 1: Environment Variable (Recommended)
95
+ export const maxDuration = 60;
46
96
 
47
- Add `CRYPTOQUANT_API_KEY` to your MCP config:
97
+ export async function POST(req: Request) {
98
+ const { messages } = await req.json();
48
99
 
100
+ const result = streamText({
101
+ model: anthropic("claude-sonnet-4-20250514"),
102
+ messages,
103
+ tools: createCryptoQuantTools({
104
+ cryptoquantApiKey: process.env.CRYPTOQUANT_API_KEY!,
105
+ }),
106
+ maxSteps: 5,
107
+ });
108
+
109
+ return result.toDataStreamResponse();
110
+ }
111
+ ```
112
+
113
+ ### Client Component
114
+
115
+ ```tsx
116
+ "use client";
117
+ import { useChat } from "@ai-sdk/react";
118
+
119
+ export function CryptoChat() {
120
+ const { messages, input, handleInputChange, handleSubmit, isLoading } = useChat();
121
+
122
+ return (
123
+ <div>
124
+ {messages.map((m) => (
125
+ <div key={m.id}>{m.content}</div>
126
+ ))}
127
+ <form onSubmit={handleSubmit}>
128
+ <input value={input} onChange={handleInputChange} />
129
+ <button type="submit" disabled={isLoading}>Send</button>
130
+ </form>
131
+ </div>
132
+ );
133
+ }
134
+ ```
135
+
136
+ ### API Reference
137
+
138
+ ```typescript
139
+ // Option 1: With explicit API key
140
+ import { createCryptoQuantTools } from "@cryptoquant_official/mcp/ai-sdk";
141
+ const tools = createCryptoQuantTools({ cryptoquantApiKey: "cq-..." });
142
+
143
+ // Option 2: Using CRYPTOQUANT_API_KEY env var
144
+ import { cryptoQuantTools } from "@cryptoquant_official/mcp/ai-sdk";
145
+ streamText({ tools: cryptoQuantTools, ... });
146
+ ```
147
+
148
+ See [examples/nextjs-ai-sdk/](examples/nextjs-ai-sdk/) for complete example.
149
+
150
+ ---
151
+
152
+ ## Mode 3: HTTP (Chat Proxy)
153
+
154
+ Standalone HTTP server for any backend or non-Node.js environments.
155
+
156
+ ### Start Server
157
+
158
+ ```bash
159
+ MCP_TRANSPORT=http npx @cryptoquant_official/mcp
160
+ # Server runs at http://localhost:3100
161
+ ```
162
+
163
+ ### Endpoints
164
+
165
+ | Endpoint | Method | Description |
166
+ |----------|--------|-------------|
167
+ | `/chat` | POST | Chat with Claude + automatic tool execution |
168
+ | `/tools/schema` | GET | Get Claude API tool definitions |
169
+ | `/health` | GET | Server health check |
170
+ | `/mcp` | POST/GET/DELETE | Streamable HTTP MCP protocol |
171
+
172
+ ### POST /chat
173
+
174
+ ```bash
175
+ curl -X POST http://localhost:3100/chat \
176
+ -H "Content-Type: application/json" \
177
+ -d '{
178
+ "message": "Analyze Bitcoin MVRV",
179
+ "claude_api_key": "sk-ant-...",
180
+ "cryptoquant_api_key": "cq-..."
181
+ }'
182
+ ```
183
+
184
+ **Request:**
49
185
  ```json
50
186
  {
51
- "mcpServers": {
52
- "cryptoquant": {
53
- "command": "npx",
54
- "args": ["-y", "@cryptoquant_official/mcp"],
55
- "env": {
56
- "CRYPTOQUANT_API_KEY": "your-api-key"
57
- }
58
- }
187
+ "message": "Is Bitcoin overvalued?",
188
+ "claude_api_key": "sk-ant-...",
189
+ "cryptoquant_api_key": "cq-...",
190
+ "conversation_id": "optional-session-id",
191
+ "model": "claude-sonnet-4-20250514"
192
+ }
193
+ ```
194
+
195
+ **Response:**
196
+ ```json
197
+ {
198
+ "success": true,
199
+ "response": "Based on the current MVRV of 2.1...",
200
+ "tool_calls": [
201
+ { "name": "initialize", "result": { "success": true } },
202
+ { "name": "query_data", "result": { "data": [...] } }
203
+ ],
204
+ "conversation_id": "abc-123",
205
+ "usage": { "input_tokens": 150, "output_tokens": 300 }
206
+ }
207
+ ```
208
+
209
+ ### Next.js with HTTP Mode
210
+
211
+ ```typescript
212
+ // app/api/chat/route.ts
213
+ export async function POST(request: Request) {
214
+ const { message, conversation_id } = await request.json();
215
+
216
+ const response = await fetch("http://localhost:3100/chat", {
217
+ method: "POST",
218
+ headers: { "Content-Type": "application/json" },
219
+ body: JSON.stringify({
220
+ message,
221
+ claude_api_key: process.env.CLAUDE_API_KEY,
222
+ cryptoquant_api_key: process.env.CRYPTOQUANT_API_KEY,
223
+ conversation_id,
224
+ }),
225
+ });
226
+
227
+ return Response.json(await response.json());
228
+ }
229
+ ```
230
+
231
+ See [examples/nextjs/](examples/nextjs/) for complete example.
232
+
233
+ ---
234
+
235
+ ## Custom Cache Storage
236
+
237
+ The MCP server caches API discovery data to reduce startup time. By default:
238
+ - **CLI/Local**: File storage (`~/.cryptoquant/discovery-cache.json`)
239
+ - **Web Server**: No caching (requires Redis configuration)
240
+
241
+ ### Redis Storage for Web Servers
242
+
243
+ For production web servers or serverless environments, configure Redis storage:
244
+
245
+ ```typescript
246
+ // app/lib/cryptoquant-cache.ts
247
+ import { createClient } from "redis";
248
+ import { setRedisStorage, type CacheStorage } from "@cryptoquant_official/mcp";
249
+
250
+ const redis = createClient({ url: process.env.REDIS_URL });
251
+
252
+ export async function configureRedisCache() {
253
+ if (!redis.isOpen) {
254
+ await redis.connect();
59
255
  }
256
+
257
+ const redisStorage: CacheStorage = {
258
+ type: "redis",
259
+
260
+ async read(apiUrl, apiKeyPrefix) {
261
+ const key = `cryptoquant:cache:${apiUrl}:${apiKeyPrefix}`;
262
+ const data = await redis.get(key);
263
+ return data ? JSON.parse(data) : null;
264
+ },
265
+
266
+ async write(apiUrl, cache) {
267
+ const key = `cryptoquant:cache:${apiUrl}:${cache.metadata.api_key_prefix}`;
268
+ const ttl = 7 * 24 * 60 * 60; // 7 days
269
+ await redis.setEx(key, ttl, JSON.stringify(cache));
270
+ },
271
+
272
+ async invalidate(apiUrl, apiKeyPrefix) {
273
+ if (apiKeyPrefix) {
274
+ await redis.del(`cryptoquant:cache:${apiUrl}:${apiKeyPrefix}`);
275
+ } else {
276
+ const keys = await redis.keys(`cryptoquant:cache:${apiUrl}:*`);
277
+ if (keys.length > 0) await redis.del(keys);
278
+ }
279
+ },
280
+
281
+ async clearAll() {
282
+ const keys = await redis.keys("cryptoquant:cache:*");
283
+ if (keys.length > 0) await redis.del(keys);
284
+ },
285
+
286
+ getPath() {
287
+ return "[redis]";
288
+ },
289
+ };
290
+
291
+ setRedisStorage(redisStorage);
60
292
  }
61
293
  ```
62
294
 
63
- ### Option 2: Direct Parameter
295
+ ```typescript
296
+ // app/api/chat/route.ts
297
+ import { configureRedisCache } from "@/lib/cryptoquant-cache";
64
298
 
65
- Call `initialize()` with your API key:
299
+ // Configure once at startup
300
+ await configureRedisCache();
66
301
 
302
+ export async function POST(req: Request) {
303
+ // ... your chat handler
304
+ }
67
305
  ```
68
- initialize(api_key='your-api-key')
306
+
307
+ ### CacheStorage Interface
308
+
309
+ Implement this interface for custom storage backends:
310
+
311
+ ```typescript
312
+ interface CacheStorage {
313
+ /** Storage type identifier */
314
+ readonly type: "file" | "redis" | "auto";
315
+
316
+ /** Read cache data, returns null if not found */
317
+ read(apiUrl: string, apiKeyPrefix?: string): Promise<DiscoveryCacheSchema | null> | DiscoveryCacheSchema | null;
318
+
319
+ /** Write cache data */
320
+ write(apiUrl: string, cache: DiscoveryCacheSchema): Promise<void> | void;
321
+
322
+ /** Delete cache for specific API URL */
323
+ invalidate(apiUrl: string, apiKeyPrefix?: string): Promise<void> | void;
324
+
325
+ /** Clear all caches */
326
+ clearAll(): Promise<void> | void;
327
+
328
+ /** Get storage path for display */
329
+ getPath(apiUrl: string): string;
330
+ }
69
331
  ```
70
332
 
71
- **Get your API key**: [cryptoquant.com/settings/api](https://cryptoquant.com/settings/api)
333
+ See [examples/redis-cache/](examples/redis-cache/) for complete implementation.
334
+
335
+ ---
72
336
 
73
- ## Available Tools
337
+ ## Reference
338
+
339
+ ### Available Tools
74
340
 
75
341
  | Tool | Description |
76
342
  |------|-------------|
@@ -79,54 +345,34 @@ initialize(api_key='your-api-key')
79
345
  | `get_endpoint_info` | Get endpoint parameter details |
80
346
  | `query_data` | Query raw on-chain data |
81
347
  | `describe_metric` | Get metric descriptions and thresholds |
82
- | `list_assets` | List supported assets (BTC, ETH, etc.) |
348
+ | `list_assets` | List supported assets |
83
349
  | `reset_session` | Clear session / switch accounts |
84
350
 
85
- ## Supported Assets
351
+ ### Supported Assets
86
352
 
87
353
  BTC, ETH, ALT, Stablecoin, ERC20, TRX, XRP
88
354
 
89
- ## Example Usage
90
-
91
- ```
92
- User: "Is Bitcoin overvalued?"
93
-
94
- Claude: Let me check the MVRV ratio...
95
- → Calls query_data({ endpoint: "/v1/btc/market-data/mvrv" })
96
- → Returns analysis with current valuation status
97
- ```
98
-
99
- ## Environment Variables
355
+ ### Environment Variables
100
356
 
101
357
  | Variable | Description | Default |
102
358
  |----------|-------------|---------|
103
- | `CRYPTOQUANT_API_KEY` | API key for authentication | (none) |
104
- | `DEBUG` | Enable debug logging (`true` or `1`) | (disabled) |
105
-
106
- Example with debug logging:
107
- ```json
108
- {
109
- "mcpServers": {
110
- "cryptoquant": {
111
- "command": "npx",
112
- "args": ["-y", "@cryptoquant_official/mcp"],
113
- "env": {
114
- "CRYPTOQUANT_API_KEY": "your-api-key",
115
- "DEBUG": "true"
116
- }
117
- }
118
- }
119
- }
120
- ```
359
+ | `CRYPTOQUANT_API_KEY` | CryptoQuant API key | - |
360
+ | `ANTHROPIC_API_KEY` | Anthropic API key (AI SDK mode) | - |
361
+ | `MCP_TRANSPORT` | Transport mode (`stdio` / `http`) | `stdio` |
362
+ | `MCP_HTTP_PORT` | HTTP server port | `3100` |
363
+ | `MCP_HTTP_HOST` | HTTP server host | `0.0.0.0` |
364
+ | `MCP_CORS_ORIGINS` | CORS allowed origins | `*` |
365
+ | `DEBUG` | Enable debug logging | - |
121
366
 
122
- ## Requirements
367
+ ### Requirements
123
368
 
124
369
  - Node.js 18+
125
370
  - CryptoQuant API key
371
+ - Anthropic API key (for AI SDK / HTTP mode)
126
372
 
127
373
  ## Links
128
374
 
129
- - [Full Documentation](https://github.com/CryptoQuantOfficial/cryptoquant-skills)
375
+ - [GitHub](https://github.com/CryptoQuantOfficial/cryptoquant-skills)
130
376
  - [CryptoQuant](https://cryptoquant.com)
131
377
  - [API Docs](https://docs.cryptoquant.com)
132
378
 
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Tool execution logic for CryptoQuant tools
3
+ * Shared between AI SDK integration and chat-proxy
4
+ */
5
+ import type { DescribeMetricParams, DiscoverEndpointsParams, InitializeParams, MarketSummaryParams, QueryDataParams, TradingSignalParams, WhaleActivityParams } from "./schemas.js";
6
+ import type { DescribeResult, DiscoverResult, InitializeResult, MarketSummaryResult, QueryResult, TradingSignalResult, ToolExecutionContext, WhaleActivityResult } from "./types.js";
7
+ /**
8
+ * Execute initialize tool
9
+ */
10
+ export declare function executeInitialize(params: InitializeParams, context: ToolExecutionContext): Promise<InitializeResult>;
11
+ /**
12
+ * Execute discover_endpoints tool
13
+ */
14
+ export declare function executeDiscoverEndpoints(params: DiscoverEndpointsParams): Promise<DiscoverResult>;
15
+ /**
16
+ * Execute query_data tool
17
+ */
18
+ export declare function executeQueryData(params: QueryDataParams, _context: ToolExecutionContext): Promise<QueryResult>;
19
+ /**
20
+ * Execute describe_metric tool
21
+ */
22
+ export declare function executeDescribeMetric(params: DescribeMetricParams): Promise<DescribeResult>;
23
+ /**
24
+ * Execute market_summary tool
25
+ */
26
+ export declare function executeMarketSummary(params: MarketSummaryParams, _context: ToolExecutionContext): Promise<MarketSummaryResult>;
27
+ /**
28
+ * Execute trading_signal tool
29
+ */
30
+ export declare function executeTradingSignal(params: TradingSignalParams, _context: ToolExecutionContext): Promise<TradingSignalResult>;
31
+ /**
32
+ * Execute whale_activity tool
33
+ */
34
+ export declare function executeWhaleActivity(params: WhaleActivityParams, _context: ToolExecutionContext): Promise<WhaleActivityResult>;
35
+ //# sourceMappingURL=execute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/ai-sdk/execute.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,YAAY,CAAC;AASpB;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,gBAAgB,EACxB,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,gBAAgB,CAAC,CA8C3B;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAC5C,MAAM,EAAE,uBAAuB,GAC9B,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,WAAW,CAAC,CAqHtB;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,cAAc,CAAC,CAgBzB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA6F9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CAuF9B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,mBAAmB,EAC3B,QAAQ,EAAE,oBAAoB,GAC7B,OAAO,CAAC,mBAAmB,CAAC,CA8G9B"}