agentpay-mcp 1.2.0 → 4.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.
- package/.env.example +37 -0
- package/LICENSE +21 -0
- package/README.md +732 -33
- package/claude_desktop_config.json +17 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +248 -0
- package/dist/index.js.map +1 -0
- package/dist/session/manager.d.ts +90 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +262 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/session/types.d.ts +113 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +16 -0
- package/dist/session/types.js.map +1 -0
- package/dist/tools/bridge.d.ts +52 -0
- package/dist/tools/bridge.d.ts.map +1 -0
- package/dist/tools/bridge.js +97 -0
- package/dist/tools/bridge.js.map +1 -0
- package/dist/tools/budget.d.ts +84 -0
- package/dist/tools/budget.d.ts.map +1 -0
- package/dist/tools/budget.js +163 -0
- package/dist/tools/budget.js.map +1 -0
- package/dist/tools/deploy.d.ts +49 -0
- package/dist/tools/deploy.d.ts.map +1 -0
- package/dist/tools/deploy.js +123 -0
- package/dist/tools/deploy.js.map +1 -0
- package/dist/tools/escrow.d.ts +73 -0
- package/dist/tools/escrow.d.ts.map +1 -0
- package/dist/tools/escrow.js +146 -0
- package/dist/tools/escrow.js.map +1 -0
- package/dist/tools/history.d.ts +59 -0
- package/dist/tools/history.d.ts.map +1 -0
- package/dist/tools/history.js +202 -0
- package/dist/tools/history.js.map +1 -0
- package/dist/tools/identity.d.ts +65 -0
- package/dist/tools/identity.d.ts.map +1 -0
- package/dist/tools/identity.js +158 -0
- package/dist/tools/identity.js.map +1 -0
- package/dist/tools/payments.d.ts +71 -0
- package/dist/tools/payments.d.ts.map +1 -0
- package/dist/tools/payments.js +158 -0
- package/dist/tools/payments.js.map +1 -0
- package/dist/tools/session.d.ts +240 -0
- package/dist/tools/session.d.ts.map +1 -0
- package/dist/tools/session.js +678 -0
- package/dist/tools/session.js.map +1 -0
- package/dist/tools/swap.d.ts +65 -0
- package/dist/tools/swap.d.ts.map +1 -0
- package/dist/tools/swap.js +101 -0
- package/dist/tools/swap.js.map +1 -0
- package/dist/tools/tokens.d.ts +129 -0
- package/dist/tools/tokens.d.ts.map +1 -0
- package/dist/tools/tokens.js +138 -0
- package/dist/tools/tokens.js.map +1 -0
- package/dist/tools/transfers.d.ts +86 -0
- package/dist/tools/transfers.d.ts.map +1 -0
- package/dist/tools/transfers.js +136 -0
- package/dist/tools/transfers.js.map +1 -0
- package/dist/tools/wallet.d.ts +107 -0
- package/dist/tools/wallet.d.ts.map +1 -0
- package/dist/tools/wallet.js +271 -0
- package/dist/tools/wallet.js.map +1 -0
- package/dist/tools/x402.d.ts +90 -0
- package/dist/tools/x402.d.ts.map +1 -0
- package/dist/tools/x402.js +268 -0
- package/dist/tools/x402.js.map +1 -0
- package/dist/utils/client.d.ts +46 -0
- package/dist/utils/client.d.ts.map +1 -0
- package/dist/utils/client.js +123 -0
- package/dist/utils/client.js.map +1 -0
- package/dist/utils/format.d.ts +59 -0
- package/dist/utils/format.d.ts.map +1 -0
- package/dist/utils/format.js +161 -0
- package/dist/utils/format.js.map +1 -0
- package/package.json +62 -12
- package/index.d.ts +0 -1
- package/index.js +0 -13
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* session.ts — x402 V2 session payment tools.
|
|
3
|
+
*
|
|
4
|
+
* Implements the x402 V2 "wallet-based access & reusable sessions" pattern:
|
|
5
|
+
* 1. x402_session_start — pay once, receive a signed session token
|
|
6
|
+
* 2. x402_session_fetch — make N calls within the session (no new payments)
|
|
7
|
+
* 3. x402_session_status — inspect active sessions and TTL remaining
|
|
8
|
+
* 4. x402_session_end — explicitly close a session
|
|
9
|
+
*
|
|
10
|
+
* Non-custodial design:
|
|
11
|
+
* Agents sign session tokens locally with their private key.
|
|
12
|
+
* No third party holds or validates keys at any point.
|
|
13
|
+
* Session tokens are self-contained ECDSA-signed claims that any server
|
|
14
|
+
* implementing x402 V2 can independently verify.
|
|
15
|
+
*/
|
|
16
|
+
import { z } from 'zod';
|
|
17
|
+
import { findSessionForUrl, buildSessionHeaders } from '../session/manager.js';
|
|
18
|
+
export declare const X402SessionStartSchema: z.ZodObject<{
|
|
19
|
+
endpoint: z.ZodString;
|
|
20
|
+
scope: z.ZodDefault<z.ZodOptional<z.ZodEnum<["prefix", "exact"]>>>;
|
|
21
|
+
ttl_seconds: z.ZodOptional<z.ZodNumber>;
|
|
22
|
+
label: z.ZodOptional<z.ZodString>;
|
|
23
|
+
max_payment_eth: z.ZodOptional<z.ZodString>;
|
|
24
|
+
method: z.ZodDefault<z.ZodOptional<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE"]>>>;
|
|
25
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
26
|
+
body: z.ZodOptional<z.ZodString>;
|
|
27
|
+
timeout_ms: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
28
|
+
}, "strip", z.ZodTypeAny, {
|
|
29
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
30
|
+
endpoint: string;
|
|
31
|
+
scope: "exact" | "prefix";
|
|
32
|
+
timeout_ms: number;
|
|
33
|
+
body?: string | undefined;
|
|
34
|
+
headers?: Record<string, string> | undefined;
|
|
35
|
+
ttl_seconds?: number | undefined;
|
|
36
|
+
label?: string | undefined;
|
|
37
|
+
max_payment_eth?: string | undefined;
|
|
38
|
+
}, {
|
|
39
|
+
endpoint: string;
|
|
40
|
+
body?: string | undefined;
|
|
41
|
+
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | undefined;
|
|
42
|
+
headers?: Record<string, string> | undefined;
|
|
43
|
+
scope?: "exact" | "prefix" | undefined;
|
|
44
|
+
ttl_seconds?: number | undefined;
|
|
45
|
+
label?: string | undefined;
|
|
46
|
+
max_payment_eth?: string | undefined;
|
|
47
|
+
timeout_ms?: number | undefined;
|
|
48
|
+
}>;
|
|
49
|
+
export type X402SessionStartInput = z.infer<typeof X402SessionStartSchema>;
|
|
50
|
+
export declare const x402SessionStartTool: {
|
|
51
|
+
name: string;
|
|
52
|
+
description: string;
|
|
53
|
+
inputSchema: {
|
|
54
|
+
type: "object";
|
|
55
|
+
properties: {
|
|
56
|
+
endpoint: {
|
|
57
|
+
type: string;
|
|
58
|
+
description: string;
|
|
59
|
+
};
|
|
60
|
+
scope: {
|
|
61
|
+
type: string;
|
|
62
|
+
enum: string[];
|
|
63
|
+
description: string;
|
|
64
|
+
default: string;
|
|
65
|
+
};
|
|
66
|
+
ttl_seconds: {
|
|
67
|
+
type: string;
|
|
68
|
+
description: string;
|
|
69
|
+
};
|
|
70
|
+
label: {
|
|
71
|
+
type: string;
|
|
72
|
+
description: string;
|
|
73
|
+
};
|
|
74
|
+
max_payment_eth: {
|
|
75
|
+
type: string;
|
|
76
|
+
description: string;
|
|
77
|
+
};
|
|
78
|
+
method: {
|
|
79
|
+
type: string;
|
|
80
|
+
enum: string[];
|
|
81
|
+
description: string;
|
|
82
|
+
default: string;
|
|
83
|
+
};
|
|
84
|
+
headers: {
|
|
85
|
+
type: string;
|
|
86
|
+
additionalProperties: {
|
|
87
|
+
type: string;
|
|
88
|
+
};
|
|
89
|
+
description: string;
|
|
90
|
+
};
|
|
91
|
+
body: {
|
|
92
|
+
type: string;
|
|
93
|
+
description: string;
|
|
94
|
+
};
|
|
95
|
+
timeout_ms: {
|
|
96
|
+
type: string;
|
|
97
|
+
description: string;
|
|
98
|
+
default: number;
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
required: string[];
|
|
102
|
+
};
|
|
103
|
+
};
|
|
104
|
+
export declare function handleX402SessionStart(input: X402SessionStartInput): Promise<{
|
|
105
|
+
content: Array<{
|
|
106
|
+
type: 'text';
|
|
107
|
+
text: string;
|
|
108
|
+
}>;
|
|
109
|
+
isError?: boolean;
|
|
110
|
+
}>;
|
|
111
|
+
export declare const X402SessionFetchSchema: z.ZodObject<{
|
|
112
|
+
session_id: z.ZodString;
|
|
113
|
+
url: z.ZodString;
|
|
114
|
+
method: z.ZodDefault<z.ZodOptional<z.ZodEnum<["GET", "POST", "PUT", "PATCH", "DELETE"]>>>;
|
|
115
|
+
headers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
116
|
+
body: z.ZodOptional<z.ZodString>;
|
|
117
|
+
timeout_ms: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
118
|
+
}, "strip", z.ZodTypeAny, {
|
|
119
|
+
method: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
120
|
+
timeout_ms: number;
|
|
121
|
+
session_id: string;
|
|
122
|
+
url: string;
|
|
123
|
+
body?: string | undefined;
|
|
124
|
+
headers?: Record<string, string> | undefined;
|
|
125
|
+
}, {
|
|
126
|
+
session_id: string;
|
|
127
|
+
url: string;
|
|
128
|
+
body?: string | undefined;
|
|
129
|
+
method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE" | undefined;
|
|
130
|
+
headers?: Record<string, string> | undefined;
|
|
131
|
+
timeout_ms?: number | undefined;
|
|
132
|
+
}>;
|
|
133
|
+
export type X402SessionFetchInput = z.infer<typeof X402SessionFetchSchema>;
|
|
134
|
+
export declare const x402SessionFetchTool: {
|
|
135
|
+
name: string;
|
|
136
|
+
description: string;
|
|
137
|
+
inputSchema: {
|
|
138
|
+
type: "object";
|
|
139
|
+
properties: {
|
|
140
|
+
session_id: {
|
|
141
|
+
type: string;
|
|
142
|
+
description: string;
|
|
143
|
+
};
|
|
144
|
+
url: {
|
|
145
|
+
type: string;
|
|
146
|
+
description: string;
|
|
147
|
+
};
|
|
148
|
+
method: {
|
|
149
|
+
type: string;
|
|
150
|
+
enum: string[];
|
|
151
|
+
description: string;
|
|
152
|
+
default: string;
|
|
153
|
+
};
|
|
154
|
+
headers: {
|
|
155
|
+
type: string;
|
|
156
|
+
additionalProperties: {
|
|
157
|
+
type: string;
|
|
158
|
+
};
|
|
159
|
+
description: string;
|
|
160
|
+
};
|
|
161
|
+
body: {
|
|
162
|
+
type: string;
|
|
163
|
+
description: string;
|
|
164
|
+
};
|
|
165
|
+
timeout_ms: {
|
|
166
|
+
type: string;
|
|
167
|
+
description: string;
|
|
168
|
+
default: number;
|
|
169
|
+
};
|
|
170
|
+
};
|
|
171
|
+
required: string[];
|
|
172
|
+
};
|
|
173
|
+
};
|
|
174
|
+
export declare function handleX402SessionFetch(input: X402SessionFetchInput): Promise<{
|
|
175
|
+
content: Array<{
|
|
176
|
+
type: 'text';
|
|
177
|
+
text: string;
|
|
178
|
+
}>;
|
|
179
|
+
isError?: boolean;
|
|
180
|
+
}>;
|
|
181
|
+
export declare const X402SessionStatusSchema: z.ZodObject<{
|
|
182
|
+
session_id: z.ZodOptional<z.ZodString>;
|
|
183
|
+
}, "strip", z.ZodTypeAny, {
|
|
184
|
+
session_id?: string | undefined;
|
|
185
|
+
}, {
|
|
186
|
+
session_id?: string | undefined;
|
|
187
|
+
}>;
|
|
188
|
+
export type X402SessionStatusInput = z.infer<typeof X402SessionStatusSchema>;
|
|
189
|
+
export declare const x402SessionStatusTool: {
|
|
190
|
+
name: string;
|
|
191
|
+
description: string;
|
|
192
|
+
inputSchema: {
|
|
193
|
+
type: "object";
|
|
194
|
+
properties: {
|
|
195
|
+
session_id: {
|
|
196
|
+
type: string;
|
|
197
|
+
description: string;
|
|
198
|
+
};
|
|
199
|
+
};
|
|
200
|
+
required: never[];
|
|
201
|
+
};
|
|
202
|
+
};
|
|
203
|
+
export declare function handleX402SessionStatus(input: X402SessionStatusInput): Promise<{
|
|
204
|
+
content: Array<{
|
|
205
|
+
type: 'text';
|
|
206
|
+
text: string;
|
|
207
|
+
}>;
|
|
208
|
+
isError?: boolean;
|
|
209
|
+
}>;
|
|
210
|
+
export declare const X402SessionEndSchema: z.ZodObject<{
|
|
211
|
+
session_id: z.ZodString;
|
|
212
|
+
}, "strip", z.ZodTypeAny, {
|
|
213
|
+
session_id: string;
|
|
214
|
+
}, {
|
|
215
|
+
session_id: string;
|
|
216
|
+
}>;
|
|
217
|
+
export type X402SessionEndInput = z.infer<typeof X402SessionEndSchema>;
|
|
218
|
+
export declare const x402SessionEndTool: {
|
|
219
|
+
name: string;
|
|
220
|
+
description: string;
|
|
221
|
+
inputSchema: {
|
|
222
|
+
type: "object";
|
|
223
|
+
properties: {
|
|
224
|
+
session_id: {
|
|
225
|
+
type: string;
|
|
226
|
+
description: string;
|
|
227
|
+
};
|
|
228
|
+
};
|
|
229
|
+
required: string[];
|
|
230
|
+
};
|
|
231
|
+
};
|
|
232
|
+
export declare function handleX402SessionEnd(input: X402SessionEndInput): Promise<{
|
|
233
|
+
content: Array<{
|
|
234
|
+
type: 'text';
|
|
235
|
+
text: string;
|
|
236
|
+
}>;
|
|
237
|
+
isError?: boolean;
|
|
238
|
+
}>;
|
|
239
|
+
export { findSessionForUrl, buildSessionHeaders };
|
|
240
|
+
//# sourceMappingURL=session.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/tools/session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAML,iBAAiB,EACjB,mBAAmB,EAEpB,MAAM,uBAAuB,CAAC;AAI/B,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwDjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDhC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAkJhF;AAID,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;EA8BjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0ChC,CAAC;AAEF,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA8IhF;AAID,eAAO,MAAM,uBAAuB;;;;;;EAQlC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE7E,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;CAiBjC,CAAC;AAEF,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAoGhF;AAID,eAAO,MAAM,oBAAoB;;;;;;EAK/B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;CAgB9B,CAAC;AAEF,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA6ChF;AA8CD,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,CAAC"}
|