@curless/clubmed-demo 0.4.4 → 0.5.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/dist/index.js +51 -151
- package/dist/index.js.map +1 -1
- package/package.json +24 -14
package/dist/index.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
2
|
+
// Buyer-side x402 lives in the SDK — sign EIP-3009, encode X-PAYMENT, read USDC
|
|
3
|
+
// balance. The demo never hand-rolls the signing.
|
|
4
|
+
import { encodeXPaymentHeader, signX402Payment, signerFromPrivateKey, usdcBalance, } from '@curless/agentbank-protocols/x402';
|
|
3
5
|
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
|
|
4
6
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
5
7
|
import { CallToolRequestSchema, ListToolsRequestSchema } from '@modelcontextprotocol/sdk/types.js';
|
|
6
8
|
import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
|
|
7
|
-
import { base, baseSepolia } from 'viem/chains';
|
|
8
9
|
// @curless/clubmed-demo — a SIMULATED "Club Med" storefront MCP for the BUYER.
|
|
9
10
|
// Booking is end-to-end agentic:
|
|
10
11
|
// 1. browse + start a booking via Club Med's merchant backend
|
|
@@ -42,115 +43,27 @@ const backend = async (path, init = {}) => {
|
|
|
42
43
|
return (await res.json());
|
|
43
44
|
};
|
|
44
45
|
// --- x402 (stablecoin) payment --------------------------------------------
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
|
|
48
|
-
//
|
|
49
|
-
// testnet USDC balance lasts many bookings — a Club Med week converts to ~1,900
|
|
50
|
-
// USDC, which would drain a faucet in one go. Default 0.1 USDC; override with
|
|
51
|
-
// X402_DEMO_AMOUNT (USDC base units, 6 dp). The full converted price is still
|
|
52
|
-
// reported, so the response shows what a real charge would be.
|
|
53
|
-
const DEMO_PAY_USDC_BASE = Number(process.env.X402_DEMO_AMOUNT ?? 100_000); // 0.1 USDC
|
|
54
|
-
// EUR minor units (2 dp) → USDC base units (6 dp), at the demo rate.
|
|
55
|
-
const eurToUsdcBase = (eurCents) => Math.round(eurCents * EUR_TO_USD * 1e4);
|
|
56
|
-
const CHAINS = { base: base.id, 'base-sepolia': baseSepolia.id };
|
|
57
|
-
// Read the buyer wallet's USDC balance straight from a public RPC — for the
|
|
58
|
-
// pre-flight check (don't sign a doomed payment when the wallet is empty) and
|
|
59
|
-
// the x402_buyer_wallet tool. USDC contracts (6 dp) by network.
|
|
60
|
-
const USDC = {
|
|
61
|
-
base: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
|
|
62
|
-
'base-sepolia': '0x036CbD53842c5426634e7929541eC2318f3dCF7e',
|
|
63
|
-
};
|
|
64
|
-
const RPC = {
|
|
65
|
-
base: 'https://mainnet.base.org',
|
|
66
|
-
'base-sepolia': 'https://sepolia.base.org',
|
|
67
|
-
};
|
|
46
|
+
// x402 settles USDC. The amount is now MERCHANT-QUOTED: clubmed-backend opens a
|
|
47
|
+
// merchant-quoted x402 session via the SDK and sets the USDC price (a small
|
|
48
|
+
// fixed test charge on testnet). The buyer just signs + pays the session — it
|
|
49
|
+
// never computes or passes the amount.
|
|
68
50
|
// The buyer's account, ONLY when a real key is configured. Without it signX402
|
|
69
|
-
//
|
|
70
|
-
// pre-flight check
|
|
51
|
+
// signs with a throwaway key (no stable address to balance-check), so the
|
|
52
|
+
// pre-flight check is skipped.
|
|
71
53
|
const payerAccount = () => {
|
|
72
54
|
const k = process.env.X402_PAYER_PRIVATE_KEY;
|
|
73
55
|
return k ? privateKeyToAccount(k) : null;
|
|
74
56
|
};
|
|
75
|
-
const usdcBalanceBaseUnits = async (network, token, address) => {
|
|
76
|
-
const rpc = RPC[network];
|
|
77
|
-
if (!rpc)
|
|
78
|
-
return 0n;
|
|
79
|
-
try {
|
|
80
|
-
const res = await fetch(rpc, {
|
|
81
|
-
method: 'POST',
|
|
82
|
-
headers: { 'content-type': 'application/json' },
|
|
83
|
-
body: JSON.stringify({
|
|
84
|
-
jsonrpc: '2.0',
|
|
85
|
-
id: 1,
|
|
86
|
-
method: 'eth_call',
|
|
87
|
-
params: [
|
|
88
|
-
{ to: token, data: `0x70a08231000000000000000000000000${address.slice(2)}` },
|
|
89
|
-
'latest',
|
|
90
|
-
],
|
|
91
|
-
}),
|
|
92
|
-
});
|
|
93
|
-
const json = (await res.json());
|
|
94
|
-
return BigInt(json.result ?? '0x0');
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
return 0n;
|
|
98
|
-
}
|
|
99
|
-
};
|
|
100
57
|
const fmtUsdc = (baseUnits) => `${(Number(baseUnits) / 1e6).toFixed(2)} USDC`;
|
|
101
|
-
// Answer an x402 402 challenge: sign an EIP-3009 transferWithAuthorization
|
|
102
|
-
//
|
|
103
|
-
// mainnet) the signer must hold USDC on that chain — set
|
|
104
|
-
// to a funded wallet
|
|
105
|
-
// settles under
|
|
58
|
+
// Answer an x402 402 challenge: sign an EIP-3009 transferWithAuthorization (via
|
|
59
|
+
// the buyer x402 SDK) → base64 X-PAYMENT header. With a REAL facilitator (Base
|
|
60
|
+
// Sepolia or mainnet) the signer must hold USDC on that chain — set
|
|
61
|
+
// X402_PAYER_PRIVATE_KEY to a funded wallet; without it a throwaway key signs,
|
|
62
|
+
// which only settles under a STUB facilitator.
|
|
106
63
|
const signX402 = async (r) => {
|
|
107
64
|
const key = process.env.X402_PAYER_PRIVATE_KEY ?? generatePrivateKey();
|
|
108
|
-
const
|
|
109
|
-
|
|
110
|
-
const nonce = `0x${randomBytes(32).toString('hex')}`;
|
|
111
|
-
const signature = await payer.signTypedData({
|
|
112
|
-
domain: {
|
|
113
|
-
name: r.extra?.name ?? 'USDC',
|
|
114
|
-
version: r.extra?.version ?? '2',
|
|
115
|
-
chainId: CHAINS[r.network] ?? base.id,
|
|
116
|
-
verifyingContract: r.asset,
|
|
117
|
-
},
|
|
118
|
-
types: {
|
|
119
|
-
TransferWithAuthorization: [
|
|
120
|
-
{ name: 'from', type: 'address' },
|
|
121
|
-
{ name: 'to', type: 'address' },
|
|
122
|
-
{ name: 'value', type: 'uint256' },
|
|
123
|
-
{ name: 'validAfter', type: 'uint256' },
|
|
124
|
-
{ name: 'validBefore', type: 'uint256' },
|
|
125
|
-
{ name: 'nonce', type: 'bytes32' },
|
|
126
|
-
],
|
|
127
|
-
},
|
|
128
|
-
primaryType: 'TransferWithAuthorization',
|
|
129
|
-
message: {
|
|
130
|
-
from: payer.address,
|
|
131
|
-
to: r.payTo,
|
|
132
|
-
value: BigInt(r.maxAmountRequired),
|
|
133
|
-
validAfter: 0n,
|
|
134
|
-
validBefore,
|
|
135
|
-
nonce,
|
|
136
|
-
},
|
|
137
|
-
});
|
|
138
|
-
return Buffer.from(JSON.stringify({
|
|
139
|
-
x402Version: 1,
|
|
140
|
-
scheme: r.scheme,
|
|
141
|
-
network: r.network,
|
|
142
|
-
payload: {
|
|
143
|
-
signature,
|
|
144
|
-
authorization: {
|
|
145
|
-
from: payer.address,
|
|
146
|
-
to: r.payTo,
|
|
147
|
-
value: r.maxAmountRequired,
|
|
148
|
-
validAfter: '0',
|
|
149
|
-
validBefore: validBefore.toString(),
|
|
150
|
-
nonce,
|
|
151
|
-
},
|
|
152
|
-
},
|
|
153
|
-
})).toString('base64');
|
|
65
|
+
const signer = await signerFromPrivateKey(key);
|
|
66
|
+
return encodeXPaymentHeader(await signX402Payment({ signer, requirements: r }));
|
|
154
67
|
};
|
|
155
68
|
const TOOLS = [
|
|
156
69
|
{
|
|
@@ -206,7 +119,7 @@ const TOOLS = [
|
|
|
206
119
|
const text = (value) => ({
|
|
207
120
|
content: [{ type: 'text', text: JSON.stringify(value, null, 2) }],
|
|
208
121
|
});
|
|
209
|
-
const server = new Server({ name: 'clubmed', version: '0.
|
|
122
|
+
const server = new Server({ name: 'clubmed', version: '0.5.0' }, { capabilities: { tools: {} } });
|
|
210
123
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: TOOLS }));
|
|
211
124
|
server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
212
125
|
const args = (req.params.arguments ?? {});
|
|
@@ -264,42 +177,25 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
264
177
|
}
|
|
265
178
|
const sku = String(args.sku ?? '');
|
|
266
179
|
const quantity = Math.max(Number(args.quantity) || 1, 1);
|
|
267
|
-
// Club Med prices the resort in EUR; convert that price to USDC for x402.
|
|
268
|
-
const resort = await backend(`/catalog/${encodeURIComponent(sku)}`);
|
|
269
180
|
const { merchantId } = await backend('/health');
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
//
|
|
273
|
-
|
|
274
|
-
const
|
|
275
|
-
const url = `${API_BASE}/x402/${encodeURIComponent(merchantId)}/checkout`;
|
|
276
|
-
const headers = {
|
|
277
|
-
'content-type': 'application/json',
|
|
278
|
-
authorization: `Bearer ${TOKEN}`,
|
|
279
|
-
'idempotency-key': `clubmed-x402-${sku}-${Date.now()}`,
|
|
280
|
-
};
|
|
281
|
-
// The fixed test amount is the explicit amount — 429488 is merchant-quoted,
|
|
282
|
-
// with no gateway catalog to price from.
|
|
283
|
-
const body = JSON.stringify({
|
|
284
|
-
items: [{ id: sku, quantity, name: resort.name }],
|
|
285
|
-
amount: paidUsdcBase,
|
|
286
|
-
});
|
|
287
|
-
// 1. challenge → 402 + payment requirements (payTo = merchant's USDC address).
|
|
288
|
-
const ch = await fetch(url, { method: 'POST', headers, body });
|
|
289
|
-
if (ch.status !== 402) {
|
|
290
|
-
throw new Error(`x402 challenge expected 402, got ${ch.status}: ${await ch.text().catch(() => '')}`);
|
|
291
|
-
}
|
|
292
|
-
const challenge = (await ch.json());
|
|
293
|
-
const reqs = challenge.accepts?.[0];
|
|
181
|
+
// The MERCHANT opens a merchant-quoted x402 session — IT sets the USDC
|
|
182
|
+
// price (the gateway has no Club Med catalog). We just pay it; we never
|
|
183
|
+
// compute or pass the amount. Same shape as the ACP `/checkout` flow.
|
|
184
|
+
const session = await backend('/checkout-x402', { method: 'POST', body: JSON.stringify({ sku, quantity }) });
|
|
185
|
+
const reqs = session.accepts?.[0];
|
|
294
186
|
if (!reqs)
|
|
295
|
-
throw new Error('x402
|
|
296
|
-
// Pre-flight: a real payer key + a real facilitator + an empty wallet =
|
|
297
|
-
//
|
|
298
|
-
//
|
|
187
|
+
throw new Error('merchant x402 session missing payment requirements');
|
|
188
|
+
// Pre-flight: a real payer key + a real facilitator + an empty wallet = a
|
|
189
|
+
// cryptic on-chain decline. Check the balance first (skipped in throwaway-
|
|
190
|
+
// key / STUB mode) against the MERCHANT's quoted amount.
|
|
299
191
|
const buyer = payerAccount();
|
|
300
192
|
if (buyer) {
|
|
301
|
-
const have = await
|
|
302
|
-
|
|
193
|
+
const have = await usdcBalance({
|
|
194
|
+
network: reqs.network,
|
|
195
|
+
owner: buyer.address,
|
|
196
|
+
token: reqs.asset,
|
|
197
|
+
});
|
|
198
|
+
if (have < BigInt(session.amount)) {
|
|
303
199
|
const onTestnet = reqs.network === 'base-sepolia';
|
|
304
200
|
return text({
|
|
305
201
|
booked: false,
|
|
@@ -307,38 +203,42 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
307
203
|
wallet: buyer.address,
|
|
308
204
|
network: reqs.network,
|
|
309
205
|
have: fmtUsdc(have),
|
|
310
|
-
need: fmtUsdc(BigInt(
|
|
206
|
+
need: fmtUsdc(BigInt(session.amount)),
|
|
311
207
|
faucet: onTestnet ? 'https://faucet.circle.com' : undefined,
|
|
312
|
-
message: `Buyer wallet ${buyer.address} has ${fmtUsdc(have)} on ${reqs.network}, needs ${fmtUsdc(BigInt(
|
|
208
|
+
message: `Buyer wallet ${buyer.address} has ${fmtUsdc(have)} on ${reqs.network}, needs ${fmtUsdc(BigInt(session.amount))}.${onTestnet ? ' Top up at https://faucet.circle.com (20 USDC / 2h) and retry.' : ' Fund it with USDC on Base and retry.'}`,
|
|
313
209
|
});
|
|
314
210
|
}
|
|
315
211
|
}
|
|
316
|
-
//
|
|
212
|
+
// Sign the merchant's frozen quote, then pay the session — the amount is
|
|
213
|
+
// set by the merchant; we just reference { sessionId }.
|
|
317
214
|
const xPayment = await signX402(reqs);
|
|
318
|
-
const paidRes = await fetch(
|
|
215
|
+
const paidRes = await fetch(`${API_BASE}/x402/${encodeURIComponent(merchantId)}/checkout`, {
|
|
319
216
|
method: 'POST',
|
|
320
|
-
headers: {
|
|
321
|
-
|
|
217
|
+
headers: {
|
|
218
|
+
'content-type': 'application/json',
|
|
219
|
+
authorization: `Bearer ${TOKEN}`,
|
|
220
|
+
'x-payment': xPayment,
|
|
221
|
+
},
|
|
222
|
+
body: JSON.stringify({ sessionId: session.sessionId }),
|
|
322
223
|
});
|
|
323
224
|
const paid = (await paidRes.json());
|
|
324
225
|
if (paidRes.status !== 200) {
|
|
325
226
|
throw new Error(`x402 settle -> ${paidRes.status}: ${JSON.stringify(paid)}`);
|
|
326
227
|
}
|
|
327
|
-
const paidUsdc = (
|
|
328
|
-
const fullUsdc = (fullUsdcBase / 1e6).toFixed(2);
|
|
228
|
+
const paidUsdc = fmtUsdc(BigInt(session.amount));
|
|
329
229
|
return text({
|
|
330
230
|
booked: paid.status === 'captured',
|
|
331
|
-
resort:
|
|
231
|
+
resort: session.name,
|
|
332
232
|
quantity,
|
|
333
|
-
priceEur:
|
|
334
|
-
|
|
335
|
-
paidUsdc: `${paidUsdc} USDC (fixed test charge)`,
|
|
233
|
+
priceEur: session.priceEur,
|
|
234
|
+
paidUsdc: `${paidUsdc} (fixed test charge, merchant-quoted)`,
|
|
336
235
|
payTo: reqs.payTo,
|
|
337
236
|
network: reqs.network,
|
|
338
237
|
status: paid.status,
|
|
339
238
|
txHash: paid.txHash,
|
|
340
239
|
paymentIntentId: paid.paymentIntentId,
|
|
341
|
-
|
|
240
|
+
sessionId: session.sessionId,
|
|
241
|
+
message: `Booked ${session.name} × ${quantity} — paid ${paidUsdc} via x402 (merchant-quoted) to ${reqs.payTo} (${paid.status}).`,
|
|
342
242
|
});
|
|
343
243
|
}
|
|
344
244
|
if (req.params.name === 'x402_buyer_wallet') {
|
|
@@ -350,8 +250,8 @@ server.setRequestHandler(CallToolRequestSchema, async (req) => {
|
|
|
350
250
|
});
|
|
351
251
|
}
|
|
352
252
|
const [sepolia, mainnet] = await Promise.all([
|
|
353
|
-
|
|
354
|
-
|
|
253
|
+
usdcBalance({ network: 'base-sepolia', owner: buyer.address }),
|
|
254
|
+
usdcBalance({ network: 'base', owner: buyer.address }),
|
|
355
255
|
]);
|
|
356
256
|
return text({
|
|
357
257
|
address: buyer.address,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,gFAAgF;AAChF,kDAAkD;AAClD,OAAO,EAEL,oBAAoB,EACpB,eAAe,EACf,oBAAoB,EACpB,WAAW,GACZ,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAEnG,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAExE,+EAA+E;AAC/E,iCAAiC;AACjC,gEAAgE;AAChE,qEAAqE;AACrE,8DAA8D;AAC9D,2EAA2E;AAC3E,4EAA4E;AAC5E,4EAA4E;AAC5E,0CAA0C;AAC1C,EAAE;AACF,yCAAyC;AACzC,iCAAiC;AACjC,YAAY;AACZ,oFAAoF;AACpF,6EAA6E;AAC7E,0EAA0E;AAC1E,kEAAkE;AAClE,yEAAyE;AACzE,EAAE;AACF,+EAA+E;AAC/E,qDAAqD;AAErD,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAChG,MAAM,OAAO,GAAG,GAAG,QAAQ,UAAU,CAAC;AACtC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;AAChD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,cAAc,CAAC;AAc5E,4EAA4E;AAC5E,MAAM,OAAO,GAAG,KAAK,EAAK,IAAY,EAAE,OAAoB,EAAE,EAAc,EAAE;IAC5E,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE;QAC3C,GAAG,IAAI;QACP,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;KACzE,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,mBAAmB,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;AACjC,CAAC,CAAC;AAEF,6EAA6E;AAC7E,gFAAgF;AAChF,4EAA4E;AAC5E,8EAA8E;AAC9E,uCAAuC;AAEvC,+EAA+E;AAC/E,0EAA0E;AAC1E,+BAA+B;AAC/B,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,sBAAyC,CAAC;IAChE,OAAO,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC3C,CAAC,CAAC;AACF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAE9F,gFAAgF;AAChF,+EAA+E;AAC/E,oEAAoE;AACpE,+EAA+E;AAC/E,+CAA+C;AAC/C,MAAM,QAAQ,GAAG,KAAK,EAAE,CAA0B,EAAmB,EAAE;IACrE,MAAM,GAAG,GAAI,OAAO,CAAC,GAAG,CAAC,sBAA0C,IAAI,kBAAkB,EAAE,CAAC;IAC5F,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC/C,OAAO,oBAAoB,CAAC,MAAM,eAAe,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ;QACE,IAAI,EAAE,sBAAsB;QAC5B,WAAW,EACT,2NAA2N;QAC7N,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8CAA8C,EAAE;gBACxF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE;aAC/C;SACF;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,iEAAiE;QAC9E,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;SACxC;KACF;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EACT,+NAA+N;QACjO,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACjF;SACF;KACF;IACD;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EACT,0PAA0P;QAC5P,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE,CAAC,KAAK,CAAC;YACjB,UAAU,EAAE;gBACV,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACvB,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,oCAAoC,EAAE;aACjF;SACF;KACF;IACD;QACE,IAAI,EAAE,mBAAmB;QACzB,WAAW,EACT,yMAAyM;QAC3M,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,EAAE;KAChD;CACO,CAAC;AAEX,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,EAAE,CAAC,CAAC;IAChC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;CAC3E,CAAC,CAAC;AAEH,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAElG,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjF,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5D,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAA4B,CAAC;IACrE,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;YAC1F,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,OAAO,CAAsB,WAAW,IAAI,EAAE,CAAC,CAAC;YACxE,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7E,OAAO,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;YAC7C,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAS,YAAY,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC;oBACzF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,uEAAuE;YACvE,MAAM,OAAO,GAAG,MAAM,OAAO,CAK1B,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAC7E,yEAAyE;YACzE,MAAM,GAAG,GAAG,GAAG,QAAQ,QAAQ,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC,sBAAsB,kBAAkB,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,CAAC;YAC5I,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;gBAC3B,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;gBACjF,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;aACrF,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,KAAK,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACxF,CAAC;YACD,MAAM,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiD,CAAC;YACjF,OAAO,IAAI,CAAC;gBACV,MAAM,EAAE,KAAK,CAAC,MAAM,KAAK,WAAW;gBACpC,MAAM,EAAE,OAAO,CAAC,IAAI;gBACpB,QAAQ;gBACR,KAAK,EAAE,OAAO,CAAC,aAAa;gBAC5B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,KAAK,EAAE,EAAE;gBACxB,OAAO,EAAE,UAAU,OAAO,CAAC,IAAI,MAAM,QAAQ,MAAM,OAAO,CAAC,aAAa,aAAa,KAAK,CAAC,MAAM,IAAI;aACtG,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;YACnD,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC;oBACzF,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACzD,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,OAAO,CAAyB,SAAS,CAAC,CAAC;YAExE,uEAAuE;YACvE,wEAAwE;YACxE,sEAAsE;YACtE,MAAM,OAAO,GAAG,MAAM,OAAO,CAQ1B,gBAAgB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;YAClF,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;YAEjF,0EAA0E;YAC1E,2EAA2E;YAC3E,yDAAyD;YACzD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAC7B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC;oBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,KAAK,CAAC,OAAO;oBACpB,KAAK,EAAE,IAAI,CAAC,KAAK;iBAClB,CAAC,CAAC;gBACH,IAAI,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC;oBAClD,OAAO,IAAI,CAAC;wBACV,MAAM,EAAE,KAAK;wBACb,MAAM,EAAE,mBAAmB;wBAC3B,MAAM,EAAE,KAAK,CAAC,OAAO;wBACrB,OAAO,EAAE,IAAI,CAAC,OAAO;wBACrB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC;wBACnB,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBACrC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,SAAS;wBAC3D,OAAO,EAAE,gBAAgB,KAAK,CAAC,OAAO,QAAQ,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,WAAW,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,gEAAgE,CAAC,CAAC,CAAC,uCAAuC,EAAE;qBACrP,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,wDAAwD;YACxD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,SAAS,kBAAkB,CAAC,UAAU,CAAC,WAAW,EAAE;gBACzF,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,aAAa,EAAE,UAAU,KAAK,EAAE;oBAChC,WAAW,EAAE,QAAQ;iBACtB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;aACvD,CAAC,CAAC;YACH,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAIjC,CAAC;YACF,IAAI,OAAO,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC3B,MAAM,IAAI,KAAK,CAAC,kBAAkB,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,CAAC;YACD,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YACjD,OAAO,IAAI,CAAC;gBACV,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,UAAU;gBAClC,MAAM,EAAE,OAAO,CAAC,IAAI;gBACpB,QAAQ;gBACR,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,GAAG,QAAQ,uCAAuC;gBAC5D,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,eAAe,EAAE,IAAI,CAAC,eAAe;gBACrC,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,OAAO,EAAE,UAAU,OAAO,CAAC,IAAI,MAAM,QAAQ,WAAW,QAAQ,kCAAkC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,MAAM,IAAI;aACjI,CAAC,CAAC;QACL,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE,CAAC;YAC5C,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,OAAO,IAAI,CAAC;oBACV,UAAU,EAAE,KAAK;oBACjB,OAAO,EACL,oMAAoM;iBACvM,CAAC,CAAC;YACL,CAAC;YACD,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAC3C,WAAW,CAAC,EAAE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;gBAC9D,WAAW,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;aACvD,CAAC,CAAC;YACH,OAAO,IAAI,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE;gBACtE,MAAM,EAAE,qEAAqE;gBAC7E,IAAI,EAAE,iHAAiH;aACxH,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClG,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAW,GAAa,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClG,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,oBAAoB,EAAE,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@curless/clubmed-demo",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Demo Club Med storefront MCP — browse resorts worldwide and book them end-to-end: Club Med's merchant backend (mcp.curless.ai/clubmed) prices the resort and opens a merchant-quoted ACP session; the buyer agent completes the payment with a card (ACP) or in USDC over x402.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -9,18 +9,14 @@
|
|
|
9
9
|
},
|
|
10
10
|
"main": "dist/index.js",
|
|
11
11
|
"types": "dist/index.d.ts",
|
|
12
|
-
"files": [
|
|
13
|
-
|
|
14
|
-
"
|
|
15
|
-
|
|
16
|
-
"start": "node dist/index.js",
|
|
17
|
-
"typecheck": "tsc --noEmit",
|
|
18
|
-
"clean": "rm -rf dist",
|
|
19
|
-
"prepublishOnly": "npm run clean && npm run build"
|
|
20
|
-
},
|
|
12
|
+
"files": [
|
|
13
|
+
"dist",
|
|
14
|
+
"README.md"
|
|
15
|
+
],
|
|
21
16
|
"dependencies": {
|
|
22
17
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
23
|
-
"viem": "^2.50.4"
|
|
18
|
+
"viem": "^2.50.4",
|
|
19
|
+
"@curless/agentbank-protocols": "^0.2.0"
|
|
24
20
|
},
|
|
25
21
|
"devDependencies": {
|
|
26
22
|
"@types/node": "^22.10.1",
|
|
@@ -30,11 +26,25 @@
|
|
|
30
26
|
"engines": {
|
|
31
27
|
"node": ">=18"
|
|
32
28
|
},
|
|
33
|
-
"keywords": [
|
|
29
|
+
"keywords": [
|
|
30
|
+
"mcp",
|
|
31
|
+
"clubmed",
|
|
32
|
+
"agentbank",
|
|
33
|
+
"demo",
|
|
34
|
+
"claude",
|
|
35
|
+
"acp"
|
|
36
|
+
],
|
|
34
37
|
"repository": {
|
|
35
38
|
"type": "git",
|
|
36
39
|
"url": "git+https://gitlab.com/robin-ruan/agentbank.git",
|
|
37
40
|
"directory": "examples/clubmed-demo"
|
|
38
41
|
},
|
|
39
|
-
"author": "robin"
|
|
40
|
-
|
|
42
|
+
"author": "robin",
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "tsc",
|
|
45
|
+
"dev": "tsx src/index.ts",
|
|
46
|
+
"start": "node dist/index.js",
|
|
47
|
+
"typecheck": "tsc --noEmit",
|
|
48
|
+
"clean": "rm -rf dist"
|
|
49
|
+
}
|
|
50
|
+
}
|