@waiaas/mcp 2.10.0-rc.9 → 2.10.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.
- package/README.md +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -0
- package/dist/server.js.map +1 -1
- package/dist/tools/hyperliquid.d.ts +13 -0
- package/dist/tools/hyperliquid.d.ts.map +1 -0
- package/dist/tools/hyperliquid.js +110 -0
- package/dist/tools/hyperliquid.js.map +1 -0
- package/dist/tools/polymarket.d.ts +13 -0
- package/dist/tools/polymarket.d.ts.map +1 -0
- package/dist/tools/polymarket.js +101 -0
- package/dist/tools/polymarket.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/@waiaas/core)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://nodejs.org/)
|
|
8
|
-
[](#)
|
|
9
9
|
|
|
10
10
|
A self-hosted wallet daemon that lets AI agents perform on-chain transactions securely -- while the owner keeps full control of funds.
|
|
11
11
|
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAiDjD,MAAM,WAAW,aAAa;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAEjF;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,CA0D9F"}
|
package/dist/server.js
CHANGED
|
@@ -46,6 +46,8 @@ import { registerGetNftMetadata } from './tools/get-nft-metadata.js';
|
|
|
46
46
|
import { registerTransferNft } from './tools/transfer-nft.js';
|
|
47
47
|
import { registerBuildUserop } from './tools/build-userop.js';
|
|
48
48
|
import { registerSignUserop } from './tools/sign-userop.js';
|
|
49
|
+
import { registerHyperliquidTools } from './tools/hyperliquid.js';
|
|
50
|
+
import { registerPolymarketTools } from './tools/polymarket.js';
|
|
49
51
|
// Resource registrations (Task 2)
|
|
50
52
|
import { registerWalletBalance } from './resources/wallet-balance.js';
|
|
51
53
|
import { registerWalletAddress } from './resources/wallet-address.js';
|
|
@@ -103,6 +105,8 @@ export function createMcpServer(apiClient, walletContext) {
|
|
|
103
105
|
registerTransferNft(server, apiClient, walletContext);
|
|
104
106
|
registerBuildUserop(server, apiClient, walletContext);
|
|
105
107
|
registerSignUserop(server, apiClient, walletContext);
|
|
108
|
+
registerHyperliquidTools(server, apiClient, walletContext);
|
|
109
|
+
registerPolymarketTools(server, apiClient, walletContext);
|
|
106
110
|
// Register 4 resource groups (3 static + 1 template)
|
|
107
111
|
registerWalletBalance(server, apiClient, walletContext);
|
|
108
112
|
registerWalletAddress(server, apiClient, walletContext);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,qBAAqB;AACrB,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,gCAAgC,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACjF,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,0BAA0B,EAAE,MAAM,iCAAiC,CAAC;AAC7E,OAAO,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hyperliquid query MCP tools (8 tools).
|
|
3
|
+
*
|
|
4
|
+
* Action tools (9) are auto-registered via action-provider.ts (mcpExpose=true).
|
|
5
|
+
* These are the 8 read-only query tools that bypass the pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @see HDESIGN-05: MCP tool list
|
|
8
|
+
*/
|
|
9
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
10
|
+
import { type ApiClient } from '../api-client.js';
|
|
11
|
+
import { type WalletContext } from '../server.js';
|
|
12
|
+
export declare function registerHyperliquidTools(server: McpServer, apiClient: ApiClient, walletContext?: WalletContext): void;
|
|
13
|
+
//# sourceMappingURL=hyperliquid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperliquid.d.ts","sourceRoot":"","sources":["../../src/tools/hyperliquid.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,cAAc,CAAC;AAEpE,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI,CAuJN"}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hyperliquid query MCP tools (8 tools).
|
|
3
|
+
*
|
|
4
|
+
* Action tools (9) are auto-registered via action-provider.ts (mcpExpose=true).
|
|
5
|
+
* These are the 8 read-only query tools that bypass the pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @see HDESIGN-05: MCP tool list
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import { toToolResult } from '../api-client.js';
|
|
11
|
+
import { withWalletPrefix } from '../server.js';
|
|
12
|
+
export function registerHyperliquidTools(server, apiClient, walletContext) {
|
|
13
|
+
// hl_get_positions
|
|
14
|
+
server.tool('waiaas_hl_get_positions', withWalletPrefix('Get Hyperliquid perpetual positions for a wallet.', walletContext?.walletName), {
|
|
15
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
16
|
+
sub_account: z.string().optional().describe('Sub-account address (hex).'),
|
|
17
|
+
}, async (args) => {
|
|
18
|
+
const params = new URLSearchParams();
|
|
19
|
+
if (args.wallet_id)
|
|
20
|
+
params.set('wallet_id', args.wallet_id);
|
|
21
|
+
if (args.sub_account)
|
|
22
|
+
params.set('subAccount', args.sub_account);
|
|
23
|
+
const walletId = args.wallet_id || 'default';
|
|
24
|
+
const qs = params.toString();
|
|
25
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/positions${qs ? '?' + qs : ''}`);
|
|
26
|
+
return toToolResult(result);
|
|
27
|
+
});
|
|
28
|
+
// hl_get_open_orders
|
|
29
|
+
server.tool('waiaas_hl_get_open_orders', withWalletPrefix('Get Hyperliquid open orders for a wallet.', walletContext?.walletName), {
|
|
30
|
+
wallet_id: z.string().optional().describe('Wallet ID.'),
|
|
31
|
+
sub_account: z.string().optional().describe('Sub-account address (hex).'),
|
|
32
|
+
}, async (args) => {
|
|
33
|
+
const params = new URLSearchParams();
|
|
34
|
+
if (args.sub_account)
|
|
35
|
+
params.set('subAccount', args.sub_account);
|
|
36
|
+
const walletId = args.wallet_id || 'default';
|
|
37
|
+
const qs = params.toString();
|
|
38
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/orders${qs ? '?' + qs : ''}`);
|
|
39
|
+
return toToolResult(result);
|
|
40
|
+
});
|
|
41
|
+
// hl_get_markets
|
|
42
|
+
server.tool('waiaas_hl_get_markets', 'Get Hyperliquid perpetual market list with metadata (leverage limits, etc.).', {}, async () => {
|
|
43
|
+
const result = await apiClient.get('/v1/hyperliquid/markets');
|
|
44
|
+
return toToolResult(result);
|
|
45
|
+
});
|
|
46
|
+
// hl_get_funding_rates
|
|
47
|
+
server.tool('waiaas_hl_get_funding_rates', 'Get funding rate history for a Hyperliquid perpetual market.', {
|
|
48
|
+
market: z.string().describe('Market symbol (e.g., "ETH", "BTC").'),
|
|
49
|
+
start_time: z.string().optional().describe('Unix timestamp to start from.'),
|
|
50
|
+
}, async (args) => {
|
|
51
|
+
const params = new URLSearchParams();
|
|
52
|
+
params.set('market', args.market);
|
|
53
|
+
if (args.start_time)
|
|
54
|
+
params.set('startTime', args.start_time);
|
|
55
|
+
const result = await apiClient.get(`/v1/hyperliquid/funding-rates?${params.toString()}`);
|
|
56
|
+
return toToolResult(result);
|
|
57
|
+
});
|
|
58
|
+
// hl_get_account_state
|
|
59
|
+
server.tool('waiaas_hl_get_account_state', withWalletPrefix('Get Hyperliquid account state (balances, margins, positions).', walletContext?.walletName), {
|
|
60
|
+
wallet_id: z.string().optional().describe('Wallet ID.'),
|
|
61
|
+
}, async (args) => {
|
|
62
|
+
const walletId = args.wallet_id || 'default';
|
|
63
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/account`);
|
|
64
|
+
return toToolResult(result);
|
|
65
|
+
});
|
|
66
|
+
// hl_get_trade_history
|
|
67
|
+
server.tool('waiaas_hl_get_trade_history', withWalletPrefix('Get Hyperliquid trade history (fills) for a wallet.', walletContext?.walletName), {
|
|
68
|
+
wallet_id: z.string().optional().describe('Wallet ID.'),
|
|
69
|
+
limit: z.string().optional().describe('Maximum number of fills to return.'),
|
|
70
|
+
}, async (args) => {
|
|
71
|
+
const params = new URLSearchParams();
|
|
72
|
+
if (args.limit)
|
|
73
|
+
params.set('limit', args.limit);
|
|
74
|
+
const walletId = args.wallet_id || 'default';
|
|
75
|
+
const qs = params.toString();
|
|
76
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/fills${qs ? '?' + qs : ''}`);
|
|
77
|
+
return toToolResult(result);
|
|
78
|
+
});
|
|
79
|
+
// hl_get_spot_balances
|
|
80
|
+
server.tool('waiaas_hl_get_spot_balances', withWalletPrefix('Get Hyperliquid spot token balances for a wallet.', walletContext?.walletName), {
|
|
81
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
82
|
+
}, async (args) => {
|
|
83
|
+
const walletId = args.wallet_id || 'default';
|
|
84
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/spot/balances`);
|
|
85
|
+
return toToolResult(result);
|
|
86
|
+
});
|
|
87
|
+
// hl_get_spot_markets
|
|
88
|
+
server.tool('waiaas_hl_get_spot_markets', 'Get Hyperliquid spot market list (trading pairs, token info).', {}, async () => {
|
|
89
|
+
const result = await apiClient.get('/v1/hyperliquid/spot/markets');
|
|
90
|
+
return toToolResult(result);
|
|
91
|
+
});
|
|
92
|
+
// hl_list_sub_accounts
|
|
93
|
+
server.tool('waiaas_hl_list_sub_accounts', withWalletPrefix('List Hyperliquid sub-accounts for a wallet.', walletContext?.walletName), {
|
|
94
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
95
|
+
}, async (args) => {
|
|
96
|
+
const walletId = args.wallet_id || 'default';
|
|
97
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/sub-accounts`);
|
|
98
|
+
return toToolResult(result);
|
|
99
|
+
});
|
|
100
|
+
// hl_get_sub_positions
|
|
101
|
+
server.tool('waiaas_hl_get_sub_positions', withWalletPrefix('Get positions for a Hyperliquid sub-account.', walletContext?.walletName), {
|
|
102
|
+
wallet_id: z.string().optional().describe('Wallet ID.'),
|
|
103
|
+
sub_account: z.string().describe('Sub-account address (hex, 42 chars).'),
|
|
104
|
+
}, async (args) => {
|
|
105
|
+
const walletId = args.wallet_id || 'default';
|
|
106
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/hyperliquid/sub-accounts/${args.sub_account}/positions`);
|
|
107
|
+
return toToolResult(result);
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=hyperliquid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hyperliquid.js","sourceRoot":"","sources":["../../src/tools/hyperliquid.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polymarket query MCP tools (8 tools).
|
|
3
|
+
*
|
|
4
|
+
* Action tools (10) are auto-registered via action-provider.ts (mcpExpose=true).
|
|
5
|
+
* These are the 8 read-only query tools that bypass the pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @see design doc 80, Section 9.2
|
|
8
|
+
*/
|
|
9
|
+
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
10
|
+
import { type ApiClient } from '../api-client.js';
|
|
11
|
+
import { type WalletContext } from '../server.js';
|
|
12
|
+
export declare function registerPolymarketTools(server: McpServer, apiClient: ApiClient, walletContext?: WalletContext): void;
|
|
13
|
+
//# sourceMappingURL=polymarket.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polymarket.d.ts","sourceRoot":"","sources":["../../src/tools/polymarket.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,KAAK,SAAS,EAAgB,MAAM,kBAAkB,CAAC;AAChE,OAAO,EAAE,KAAK,aAAa,EAAoB,MAAM,cAAc,CAAC;AAEpE,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,SAAS,EACpB,aAAa,CAAC,EAAE,aAAa,GAC5B,IAAI,CAgIN"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Polymarket query MCP tools (8 tools).
|
|
3
|
+
*
|
|
4
|
+
* Action tools (10) are auto-registered via action-provider.ts (mcpExpose=true).
|
|
5
|
+
* These are the 8 read-only query tools that bypass the pipeline.
|
|
6
|
+
*
|
|
7
|
+
* @see design doc 80, Section 9.2
|
|
8
|
+
*/
|
|
9
|
+
import { z } from 'zod';
|
|
10
|
+
import { toToolResult } from '../api-client.js';
|
|
11
|
+
import { withWalletPrefix } from '../server.js';
|
|
12
|
+
export function registerPolymarketTools(server, apiClient, walletContext) {
|
|
13
|
+
// pm_get_positions
|
|
14
|
+
server.tool('waiaas_pm_get_positions', withWalletPrefix('Get Polymarket prediction market positions for a wallet.', walletContext?.walletName), {
|
|
15
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
16
|
+
}, async (args) => {
|
|
17
|
+
const walletId = args.wallet_id || 'default';
|
|
18
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/polymarket/positions`);
|
|
19
|
+
return toToolResult(result);
|
|
20
|
+
});
|
|
21
|
+
// pm_get_orders
|
|
22
|
+
server.tool('waiaas_pm_get_orders', withWalletPrefix('Get Polymarket CLOB orders for a wallet.', walletContext?.walletName), {
|
|
23
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
24
|
+
status: z.enum(['LIVE', 'MATCHED', 'CANCELLED']).optional().describe('Filter by order status.'),
|
|
25
|
+
}, async (args) => {
|
|
26
|
+
const walletId = args.wallet_id || 'default';
|
|
27
|
+
const params = new URLSearchParams();
|
|
28
|
+
if (args.status)
|
|
29
|
+
params.set('status', args.status);
|
|
30
|
+
const qs = params.toString();
|
|
31
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/polymarket/orders${qs ? '?' + qs : ''}`);
|
|
32
|
+
return toToolResult(result);
|
|
33
|
+
});
|
|
34
|
+
// pm_get_markets
|
|
35
|
+
server.tool('waiaas_pm_get_markets', 'Browse Polymarket prediction markets with optional filters.', {
|
|
36
|
+
category: z.string().optional().describe('Market category filter.'),
|
|
37
|
+
status: z.string().optional().describe('Market status filter (e.g., active, resolved).'),
|
|
38
|
+
keyword: z.string().optional().describe('Search keyword.'),
|
|
39
|
+
limit: z.string().optional().describe('Maximum number of markets to return.'),
|
|
40
|
+
}, async (args) => {
|
|
41
|
+
const params = new URLSearchParams();
|
|
42
|
+
if (args.category)
|
|
43
|
+
params.set('category', args.category);
|
|
44
|
+
if (args.status)
|
|
45
|
+
params.set('status', args.status);
|
|
46
|
+
if (args.keyword)
|
|
47
|
+
params.set('keyword', args.keyword);
|
|
48
|
+
if (args.limit)
|
|
49
|
+
params.set('limit', args.limit);
|
|
50
|
+
const qs = params.toString();
|
|
51
|
+
const result = await apiClient.get(`/v1/polymarket/markets${qs ? '?' + qs : ''}`);
|
|
52
|
+
return toToolResult(result);
|
|
53
|
+
});
|
|
54
|
+
// pm_get_market_detail
|
|
55
|
+
server.tool('waiaas_pm_get_market_detail', 'Get detailed information about a specific Polymarket prediction market.', {
|
|
56
|
+
condition_id: z.string().describe('Market condition ID.'),
|
|
57
|
+
}, async (args) => {
|
|
58
|
+
const result = await apiClient.get(`/v1/polymarket/markets/${args.condition_id}`);
|
|
59
|
+
return toToolResult(result);
|
|
60
|
+
});
|
|
61
|
+
// pm_get_events
|
|
62
|
+
server.tool('waiaas_pm_get_events', 'Get Polymarket events (groups of related markets).', {
|
|
63
|
+
category: z.string().optional().describe('Event category filter.'),
|
|
64
|
+
}, async (args) => {
|
|
65
|
+
const params = new URLSearchParams();
|
|
66
|
+
if (args.category)
|
|
67
|
+
params.set('category', args.category);
|
|
68
|
+
const qs = params.toString();
|
|
69
|
+
const result = await apiClient.get(`/v1/polymarket/events${qs ? '?' + qs : ''}`);
|
|
70
|
+
return toToolResult(result);
|
|
71
|
+
});
|
|
72
|
+
// pm_get_balance
|
|
73
|
+
server.tool('waiaas_pm_get_balance', withWalletPrefix('Get Polymarket USDC.e balance and CTF token positions for a wallet.', walletContext?.walletName), {
|
|
74
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
75
|
+
}, async (args) => {
|
|
76
|
+
const walletId = args.wallet_id || 'default';
|
|
77
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/polymarket/balance`);
|
|
78
|
+
return toToolResult(result);
|
|
79
|
+
});
|
|
80
|
+
// pm_get_pnl
|
|
81
|
+
server.tool('waiaas_pm_get_pnl', withWalletPrefix('Get Polymarket profit and loss summary for a wallet.', walletContext?.walletName), {
|
|
82
|
+
wallet_id: z.string().optional().describe('Wallet ID. Auto-resolved for single-wallet sessions.'),
|
|
83
|
+
}, async (args) => {
|
|
84
|
+
const walletId = args.wallet_id || 'default';
|
|
85
|
+
const result = await apiClient.get(`/v1/wallets/${walletId}/polymarket/pnl`);
|
|
86
|
+
return toToolResult(result);
|
|
87
|
+
});
|
|
88
|
+
// pm_setup
|
|
89
|
+
server.tool('waiaas_pm_setup', withWalletPrefix('Set up Polymarket API keys and optional CTF contract approval for a wallet.', walletContext?.walletName), {
|
|
90
|
+
wallet_id: z.string().describe('Wallet ID (required).'),
|
|
91
|
+
auto_approve: z.boolean().optional().describe('Automatically approve CTF contracts.'),
|
|
92
|
+
}, async (args) => {
|
|
93
|
+
const walletId = args.wallet_id;
|
|
94
|
+
const body = {};
|
|
95
|
+
if (args.auto_approve !== undefined)
|
|
96
|
+
body.auto_approve = args.auto_approve;
|
|
97
|
+
const result = await apiClient.post(`/v1/wallets/${walletId}/polymarket/setup`, body);
|
|
98
|
+
return toToolResult(result);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=polymarket.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"polymarket.js","sourceRoot":"","sources":["../../src/tools/polymarket.ts"],"names":[],"mappings":"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"}
|