402-mcp 3.13.2 → 3.15.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 (54) hide show
  1. package/README.md +21 -19
  2. package/build/ietf-payment/credential.d.ts +19 -0
  3. package/build/ietf-payment/credential.js +33 -0
  4. package/build/ietf-payment/credential.js.map +1 -0
  5. package/build/ietf-payment/parse.d.ts +39 -0
  6. package/build/ietf-payment/parse.js +76 -0
  7. package/build/ietf-payment/parse.js.map +1 -0
  8. package/build/index.js +31 -1
  9. package/build/index.js.map +1 -1
  10. package/build/tools/balance.d.ts +1 -1
  11. package/build/tools/balance.js +3 -2
  12. package/build/tools/balance.js.map +1 -1
  13. package/build/tools/buy-credits.d.ts +1 -1
  14. package/build/tools/buy-credits.js +5 -4
  15. package/build/tools/buy-credits.js.map +1 -1
  16. package/build/tools/config.d.ts +1 -1
  17. package/build/tools/config.js +3 -2
  18. package/build/tools/config.js.map +1 -1
  19. package/build/tools/credentials.d.ts +1 -1
  20. package/build/tools/credentials.js +3 -2
  21. package/build/tools/credentials.js.map +1 -1
  22. package/build/tools/discover.d.ts +1 -1
  23. package/build/tools/discover.js +5 -4
  24. package/build/tools/discover.js.map +1 -1
  25. package/build/tools/fetch-preview.d.ts +57 -0
  26. package/build/tools/fetch-preview.js +177 -0
  27. package/build/tools/fetch-preview.js.map +1 -0
  28. package/build/tools/fetch.d.ts +14 -7
  29. package/build/tools/fetch.js +78 -10
  30. package/build/tools/fetch.js.map +1 -1
  31. package/build/tools/pay.d.ts +1 -1
  32. package/build/tools/pay.js +6 -5
  33. package/build/tools/pay.js.map +1 -1
  34. package/build/tools/redeem-cashu.d.ts +1 -1
  35. package/build/tools/redeem-cashu.js +3 -2
  36. package/build/tools/redeem-cashu.js.map +1 -1
  37. package/build/tools/register-widgets.d.ts +7 -0
  38. package/build/tools/register-widgets.js +74 -0
  39. package/build/tools/register-widgets.js.map +1 -0
  40. package/build/tools/search.d.ts +1 -1
  41. package/build/tools/search.js +4 -3
  42. package/build/tools/search.js.map +1 -1
  43. package/build/tools/store-token.d.ts +1 -1
  44. package/build/tools/store-token.js +4 -3
  45. package/build/tools/store-token.js.map +1 -1
  46. package/build/widgets/index.d.ts +3 -0
  47. package/build/widgets/index.js +11 -0
  48. package/build/widgets/index.js.map +1 -0
  49. package/llms-full.txt +40 -40
  50. package/llms.txt +15 -15
  51. package/package.json +10 -3
  52. package/src/widgets/dist/payment-confirmation.html +242 -0
  53. package/src/widgets/dist/service-directory.html +234 -0
  54. package/src/widgets/dist/wallet-dashboard.html +276 -0
package/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # 402-mcp
2
2
 
3
+ **Nostr:** [`npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2`](https://njump.me/npub1mgvlrnf5hm9yf0n5mf9nqmvarhvxkc6remu5ec3vf8r0txqkuk7su0e7q2)
4
+
3
5
  [![MIT licence](https://img.shields.io/badge/licence-MIT-blue.svg)](./LICENSE)
4
6
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.7-blue)](https://www.typescriptlang.org/)
5
7
  [![Node](https://img.shields.io/badge/Node-%3E%3D18-green)](https://nodejs.org/)
@@ -29,7 +31,7 @@ claude mcp add 402-mcp -- npx 402-mcp
29
31
 
30
32
  **3. Try it**
31
33
 
32
- Ask Claude: *"Search for paid joke APIs using l402_search"* — no wallet needed, just discovery.
34
+ Ask Claude: *"Search for paid joke APIs using l402-search"* — no wallet needed, just discovery.
33
35
 
34
36
  Ready to make paid calls? See the [full quickstart guide](./docs/quickstart.md) to set up a wallet and watch your agent pay for its first API call.
35
37
 
@@ -37,10 +39,10 @@ Ready to make paid calls? See the [full quickstart guide](./docs/quickstart.md)
37
39
 
38
40
  ```mermaid
39
41
  graph LR
40
- A["1. l402_config()"] --> B["2. l402_discover(url)"]
42
+ A["1. l402-config()"] --> B["2. l402-discover(url)"]
41
43
  B --> C["3. Agent reasons<br/>about pricing"]
42
- C --> D["4. l402_buy_credits()<br/>or l402_fetch()"]
43
- D --> E["5. l402_fetch(url)<br/>with credentials"]
44
+ C --> D["4. l402-buy-credits()<br/>or l402-fetch()"]
45
+ D --> E["5. l402-fetch(url)<br/>with credentials"]
44
46
  E --> F["6. Data returned<br/>+ balance cached"]
45
47
  ```
46
48
 
@@ -49,19 +51,19 @@ graph LR
49
51
  ```
50
52
  Agent: "I need routing data from routing.trotters.cc"
51
53
 
52
- 1. l402_config()
54
+ 1. l402-config()
53
55
  -> nwcConfigured: true, maxAutoPaySats: 1000
54
56
 
55
- 2. l402_discover("https://routing.trotters.cc/api/route")
57
+ 2. l402-discover("https://routing.trotters.cc/api/route")
56
58
  -> 10 sats/request, toll-booth detected, tiers available
57
59
 
58
60
  3. Agent reasons: "I need ~20 requests. The 500-sat tier
59
61
  gives 555 credits. Better value."
60
62
 
61
- 4. l402_buy_credits(url, amountSats=500)
63
+ 4. l402-buy-credits(url, amountSats=500)
62
64
  -> Paid 500 sats, received 555 credits
63
65
 
64
- 5. l402_fetch("https://routing.trotters.cc/api/route?from=...&to=...")
66
+ 5. l402-fetch("https://routing.trotters.cc/api/route?from=...&to=...")
65
67
  -> 200 OK, route data, 545 credits remaining
66
68
  ```
67
69
 
@@ -98,21 +100,21 @@ Services can announce multiple endpoints for the **same service** (same pricing,
98
100
 
99
101
  | Tool | Description |
100
102
  |------|-------------|
101
- | `l402_config` | Introspect payment capabilities (wallets, limits, credential count) |
102
- | `l402_discover` | Probe an endpoint to discover pricing without paying |
103
- | `l402_fetch` | HTTP request with L402 support; auto-pays if within budget |
104
- | `l402_pay` | Pay a specific invoice (NWC, Cashu, or human-in-the-loop) |
105
- | `l402_credentials` | List stored credentials and cached balances |
106
- | `l402_balance` | Check cached credit balance for a server |
107
- | `l402_search` | Discover L402 services on Nostr relays (kind 31402 announcements) |
108
- | `l402_store_token` | Store an L402 token obtained from a payment page |
103
+ | `l402-config` | Introspect payment capabilities (wallets, limits, credential count) |
104
+ | `l402-discover` | Probe an endpoint to discover pricing without paying |
105
+ | `l402-fetch` | HTTP request with L402 support; auto-pays if within budget |
106
+ | `l402-pay` | Pay a specific invoice (NWC, Cashu, or human-in-the-loop) |
107
+ | `l402-credentials` | List stored credentials and cached balances |
108
+ | `l402-balance` | Check cached credit balance for a server |
109
+ | `l402-search` | Discover L402 services on Nostr relays (kind 31402 announcements) |
110
+ | `l402-store-token` | Store an L402 token obtained from a payment page |
109
111
 
110
112
  ### toll-booth extensions
111
113
 
112
114
  | Tool | Description |
113
115
  |------|-------------|
114
- | `l402_buy_credits` | Browse and purchase volume discount tiers |
115
- | `l402_redeem_cashu` | Redeem Cashu tokens directly (avoids Lightning round-trip) |
116
+ | `l402-buy-credits` | Browse and purchase volume discount tiers |
117
+ | `l402-redeem-cashu` | Redeem Cashu tokens directly (avoids Lightning round-trip) |
116
118
 
117
119
  ## Payment methods
118
120
 
@@ -126,7 +128,7 @@ The agent can override the method per-call, or you can configure only the method
126
128
 
127
129
  ## Safety
128
130
 
129
- `MAX_AUTO_PAY_SATS` caps any single autonomous payment. Above this limit, the agent must ask the human for approval. The agent can read this limit via `l402_config` and factor it into purchasing decisions.
131
+ `MAX_AUTO_PAY_SATS` caps any single autonomous payment. Above this limit, the agent must ask the human for approval. The agent can read this limit via `l402-config` and factor it into purchasing decisions.
130
132
 
131
133
  ## Privacy
132
134
 
@@ -0,0 +1,19 @@
1
+ /**
2
+ * IETF Payment credential builder (draft-ryan-httpauth-payment-01).
3
+ *
4
+ * After paying the Lightning invoice from a Payment challenge, builds the
5
+ * `Authorization: Payment <base64url credential>` header for server verification.
6
+ */
7
+ import type { IETFPaymentChallenge } from './parse.js';
8
+ /**
9
+ * Builds a base64url-encoded IETF Payment credential for the Authorization header.
10
+ *
11
+ * Wire format matches what toll-booth's verify() expects:
12
+ * ```json
13
+ * {
14
+ * "challenge": { "id", "realm", "method", "intent", "request", "expires"? },
15
+ * "payload": { "preimage": "<64-char hex>" }
16
+ * }
17
+ * ```
18
+ */
19
+ export declare function buildIETFPaymentCredential(challenge: IETFPaymentChallenge, preimage: string): string;
@@ -0,0 +1,33 @@
1
+ /**
2
+ * IETF Payment credential builder (draft-ryan-httpauth-payment-01).
3
+ *
4
+ * After paying the Lightning invoice from a Payment challenge, builds the
5
+ * `Authorization: Payment <base64url credential>` header for server verification.
6
+ */
7
+ /**
8
+ * Builds a base64url-encoded IETF Payment credential for the Authorization header.
9
+ *
10
+ * Wire format matches what toll-booth's verify() expects:
11
+ * ```json
12
+ * {
13
+ * "challenge": { "id", "realm", "method", "intent", "request", "expires"? },
14
+ * "payload": { "preimage": "<64-char hex>" }
15
+ * }
16
+ * ```
17
+ */
18
+ export function buildIETFPaymentCredential(challenge, preimage) {
19
+ const credential = {
20
+ challenge: {
21
+ id: challenge.id,
22
+ realm: challenge.realm,
23
+ method: challenge.method,
24
+ intent: challenge.intent,
25
+ request: challenge.request,
26
+ ...(challenge.expires && { expires: challenge.expires }),
27
+ ...(challenge.description && { description: challenge.description }),
28
+ },
29
+ payload: { preimage },
30
+ };
31
+ return Buffer.from(JSON.stringify(credential)).toString('base64url');
32
+ }
33
+ //# sourceMappingURL=credential.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/ietf-payment/credential.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,0BAA0B,CAAC,SAA+B,EAAE,QAAgB;IAC1F,MAAM,UAAU,GAAG;QACjB,SAAS,EAAE;YACT,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,KAAK,EAAE,SAAS,CAAC,KAAK;YACtB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,MAAM,EAAE,SAAS,CAAC,MAAM;YACxB,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,GAAG,CAAC,SAAS,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;YACxD,GAAG,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC;SACrE;QACD,OAAO,EAAE,EAAE,QAAQ,EAAE;KACtB,CAAA;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;AACtE,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * IETF Payment authentication challenge parser (draft-ryan-httpauth-payment-01).
3
+ *
4
+ * Detects and parses `WWW-Authenticate: Payment` challenges. When the method
5
+ * is `lightning`, decodes the base64url charge request to extract the BOLT11
6
+ * invoice and payment hash.
7
+ */
8
+ export interface IETFPaymentChallenge {
9
+ /** HMAC-SHA256 challenge binding ID. */
10
+ id: string;
11
+ /** Protection space (e.g. 'api.example.com'). */
12
+ realm: string;
13
+ /** Payment method (e.g. 'lightning'). */
14
+ method: string;
15
+ /** Payment intent (e.g. 'charge', 'session'). */
16
+ intent: string;
17
+ /** Base64url-encoded JCS charge request. */
18
+ request: string;
19
+ /** RFC 3339 expiry timestamp. */
20
+ expires?: string;
21
+ /** Human-readable service description. */
22
+ description?: string;
23
+ /** BOLT11 invoice string. */
24
+ invoice?: string;
25
+ /** Payment hash (64-char hex). */
26
+ paymentHash?: string;
27
+ /** Amount in satoshis. */
28
+ amountSats?: number;
29
+ }
30
+ /**
31
+ * Detects whether a 402 response contains an IETF Payment challenge.
32
+ * Handles multi-scheme WWW-Authenticate headers (e.g. L402 + Payment).
33
+ */
34
+ export declare function isIETFPaymentChallenge(headers: Headers): boolean;
35
+ /**
36
+ * Parses an IETF Payment challenge from a WWW-Authenticate header value.
37
+ * Supports multi-scheme headers — extracts the Payment portion.
38
+ */
39
+ export declare function parseIETFPaymentChallenge(header: string): IETFPaymentChallenge | null;
@@ -0,0 +1,76 @@
1
+ /**
2
+ * IETF Payment authentication challenge parser (draft-ryan-httpauth-payment-01).
3
+ *
4
+ * Detects and parses `WWW-Authenticate: Payment` challenges. When the method
5
+ * is `lightning`, decodes the base64url charge request to extract the BOLT11
6
+ * invoice and payment hash.
7
+ */
8
+ /**
9
+ * Detects whether a 402 response contains an IETF Payment challenge.
10
+ * Handles multi-scheme WWW-Authenticate headers (e.g. L402 + Payment).
11
+ */
12
+ export function isIETFPaymentChallenge(headers) {
13
+ const auth = headers.get('www-authenticate') ?? '';
14
+ return /(?:^|,\s*)Payment\s/i.test(auth);
15
+ }
16
+ /** Extracts a quoted or unquoted parameter value from an auth-param string. */
17
+ function extractParam(params, name) {
18
+ // Quoted: name="value"
19
+ const quotedRe = new RegExp(`${name}="([^"]*)"`);
20
+ const quoted = params.match(quotedRe);
21
+ if (quoted)
22
+ return quoted[1];
23
+ // Unquoted: name=value (terminated by comma, space, or end)
24
+ const unquotedRe = new RegExp(`${name}=([^,\\s"]+)`);
25
+ const unquoted = params.match(unquotedRe);
26
+ return unquoted?.[1];
27
+ }
28
+ /**
29
+ * Parses an IETF Payment challenge from a WWW-Authenticate header value.
30
+ * Supports multi-scheme headers — extracts the Payment portion.
31
+ */
32
+ export function parseIETFPaymentChallenge(header) {
33
+ // Find the Payment scheme — may be preceded by other schemes (L402, Bearer, etc.)
34
+ const paymentMatch = header.match(/(?:^|,\s*)Payment\s+(.+)/i);
35
+ if (!paymentMatch)
36
+ return null;
37
+ // Take everything after "Payment " — stop at the next scheme if present
38
+ // (schemes are separated by comma-space-uppercase)
39
+ let params = paymentMatch[1];
40
+ const nextScheme = params.search(/,\s*(?:L402|LSAT|Bearer|Basic|Digest)\s/i);
41
+ if (nextScheme !== -1)
42
+ params = params.substring(0, nextScheme);
43
+ const id = extractParam(params, 'id');
44
+ const realm = extractParam(params, 'realm');
45
+ const method = extractParam(params, 'method');
46
+ const intent = extractParam(params, 'intent');
47
+ const request = extractParam(params, 'request');
48
+ const expires = extractParam(params, 'expires');
49
+ const description = extractParam(params, 'description');
50
+ if (!id || !realm || !method || !intent || !request)
51
+ return null;
52
+ const result = { id, realm, method, intent, request };
53
+ if (expires)
54
+ result.expires = expires;
55
+ if (description)
56
+ result.description = description;
57
+ // Decode Lightning charge request
58
+ if (method === 'lightning') {
59
+ try {
60
+ const decoded = JSON.parse(Buffer.from(request, 'base64url').toString());
61
+ const details = decoded.methodDetails;
62
+ if (details) {
63
+ if (typeof details.invoice === 'string')
64
+ result.invoice = details.invoice;
65
+ if (typeof details.paymentHash === 'string')
66
+ result.paymentHash = details.paymentHash;
67
+ }
68
+ const amount = parseInt(String(decoded.amount), 10);
69
+ if (Number.isFinite(amount) && amount > 0)
70
+ result.amountSats = amount;
71
+ }
72
+ catch { /* non-decodable request — still return the parsed challenge */ }
73
+ }
74
+ return result;
75
+ }
76
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/ietf-payment/parse.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -22,11 +22,14 @@ import { registerBalanceTool } from './tools/balance.js';
22
22
  import { registerBuyCreditsTool } from './tools/buy-credits.js';
23
23
  import { registerRedeemCashuTool } from './tools/redeem-cashu.js';
24
24
  import { registerSearchTool } from './tools/search.js';
25
+ import { registerFetchPreviewTool } from './tools/fetch-preview.js';
25
26
  import { createNostrSubscriber } from './tools/nostr-subscribe.js';
26
27
  import { isX402Challenge, parseX402Challenge } from './x402/parse.js';
27
28
  import { formatX402PaymentRequest } from './x402/payment.js';
28
29
  import { isXCashuChallenge, parseXCashuChallenge } from './xcashu/parse.js';
29
30
  import { attemptXCashuPayment } from './xcashu/payment.js';
31
+ import { isIETFPaymentChallenge, parseIETFPaymentChallenge } from './ietf-payment/parse.js';
32
+ import { buildIETFPaymentCredential } from './ietf-payment/credential.js';
30
33
  import { createResilientFetch, withTransportFallback } from './fetch/resilient-fetch.js';
31
34
  import { selectTransports } from './fetch/transport.js';
32
35
  import { resolveHns as resolveHnsBase } from './fetch/hns-resolve.js';
@@ -143,7 +146,9 @@ function storeCredential(origin, macaroon, preimage, paymentHash, server = null)
143
146
  const server = new McpServer({
144
147
  name: '402-mcp',
145
148
  version,
146
- description: 'Payment network for paid APIs and services. Discovers services via Nostr (kind 31402), handles Lightning payments automatically. When a user asks for something that might be a paid service — jokes, data, content, AI, weather — use l402_search to find it, then l402_fetch (autoPay: true) to access it. If human payment is needed, show the payment URL, call l402_pay to poll for confirmation, then retry. The user never needs to know about L402 or payment details.',
149
+ description: 'Payment network for paid APIs and services. Discovers services via Nostr (kind 31402), handles Lightning payments automatically. When a user asks for something that might be a paid service — jokes, data, content, AI, weather — use l402-search to find it, then l402-fetch (autoPay: true) to access it. If human payment is needed, show the payment URL, call l402-pay to poll for confirmation, then retry. The user never needs to know about L402 or payment details.',
150
+ }, {
151
+ instructions: 'Call l402-config first to check wallet capabilities and spend limits. Use l402-search to discover paid services on Nostr before calling l402-fetch. When l402-fetch returns payment_required, either set autoPay: true to pay automatically (if within budget) or show the payment URL to the user. Call l402-discover to probe pricing before committing to a paid request. Use l402-credentials to check stored credentials before re-paying for a service.',
147
152
  });
148
153
  // Register all tools
149
154
  registerConfigTool(server, () => ({
@@ -180,6 +185,9 @@ registerFetchTool(server, {
180
185
  payXCashu: cashuTokenStore
181
186
  ? (challenge) => withCashuLock(() => attemptXCashuPayment({ challenge, tokenStore: cashuTokenStore }))
182
187
  : async () => null,
188
+ isIETFPayment: isIETFPaymentChallenge,
189
+ parseIETFPayment: parseIETFPaymentChallenge,
190
+ buildIETFCredential: buildIETFPaymentCredential,
183
191
  });
184
192
  registerPayTool(server, {
185
193
  cache: challengeCache,
@@ -221,6 +229,28 @@ registerRedeemCashuTool(server, {
221
229
  spendTracker,
222
230
  });
223
231
  registerSearchTool(server, { subscribeEvents: createNostrSubscriber(config.ssrfAllowPrivate) });
232
+ // Register fetch-preview (read-only, no spend capability)
233
+ registerFetchPreviewTool(server, {
234
+ fetchFn: resilientFetch,
235
+ challengeCache,
236
+ decodeBolt11,
237
+ parseL402: parseL402Challenge,
238
+ isX402: isX402Challenge,
239
+ parseX402: parseX402Challenge,
240
+ isXCashu: isXCashuChallenge,
241
+ parseXCashu: parseXCashuChallenge,
242
+ isIETFPayment: isIETFPaymentChallenge,
243
+ parseIETFPayment: parseIETFPaymentChallenge,
244
+ walletMethod: () => getWallet()?.method,
245
+ });
246
+ // Widget registration (graceful if widgets not built)
247
+ try {
248
+ const { registerWidgets } = await import('./tools/register-widgets.js');
249
+ registerWidgets(server);
250
+ }
251
+ catch (e) {
252
+ console.error('Widget registration skipped (build widgets first):', e.message);
253
+ }
224
254
  // Start transport
225
255
  if (config.transport === 'http') {
226
256
  const { default: express } = await import('express');
@@ -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":"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"}
@@ -16,5 +16,5 @@ export declare function handleBalance(args: {
16
16
  }[];
17
17
  isError?: undefined;
18
18
  };
19
- /** Registers the l402_balance tool with the MCP server. */
19
+ /** Registers the l402-balance tool with the MCP server. */
20
20
  export declare function registerBalanceTool(server: McpServer, store: CredentialStore): void;
@@ -34,10 +34,11 @@ export function handleBalance(args, store) {
34
34
  }],
35
35
  };
36
36
  }
37
- /** Registers the l402_balance tool with the MCP server. */
37
+ /** Registers the l402-balance tool with the MCP server. */
38
38
  export function registerBalanceTool(server, store) {
39
- server.registerTool('l402_balance', {
39
+ server.registerTool('l402-balance', {
40
40
  description: 'Check cached credit balance for a server. Returns the last known balance from the credential store without making a network request. The "stale" flag is true if the balance was last updated more than 5 minutes ago.',
41
+ annotations: { readOnlyHint: true },
41
42
  inputSchema: {
42
43
  origin: z.url().describe('The server origin (e.g. https://api.example.com)'),
43
44
  },
@@ -1 +1 @@
1
- {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAExC,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,IAAwB,EAAE,KAAsB;IAC5E,mFAAmF;IACnF,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6BAA6B,MAAM,EAAE,EAAE,CAAC;iBACvE,CAAC;YACF,OAAO,EAAE,IAAa;SACvB,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAA;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAA;IAE/E,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM;oBACN,gBAAgB,EAAE,IAAI,CAAC,aAAa;oBACpC,WAAW;oBACX,KAAK;iBACN,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAA;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,KAAsB;IAC3E,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,wNAAwN;QACrO,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;SAC7E;KACF,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CACrC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../src/tools/balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,MAAM,kBAAkB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAA;AAExC,sEAAsE;AACtE,MAAM,UAAU,aAAa,CAAC,IAAwB,EAAE,KAAsB;IAC5E,mFAAmF;IACnF,IAAI,MAAc,CAAA;IAClB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;IACtB,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAE9B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,6BAA6B,MAAM,EAAE,EAAE,CAAC;iBACvE,CAAC;YACF,OAAO,EAAE,IAAa;SACvB,CAAA;IACH,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAA;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAA;IAE/E,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM;oBACN,gBAAgB,EAAE,IAAI,CAAC,aAAa;oBACpC,WAAW;oBACX,KAAK;iBACN,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAA;AACH,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,mBAAmB,CAAC,MAAiB,EAAE,KAAsB;IAC3E,MAAM,CAAC,YAAY,CACjB,cAAc,EACd;QACE,WAAW,EAAE,wNAAwN;QACrO,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;QACnC,WAAW,EAAE;YACX,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,kDAAkD,CAAC;SAC7E;KACF,EACD,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CACrC,CAAA;AACH,CAAC"}
@@ -45,5 +45,5 @@ export declare function handleBuyCredits(args: {
45
45
  mimeType: string;
46
46
  })[];
47
47
  }>;
48
- /** Registers the l402_buy_credits tool with the MCP server. */
48
+ /** Registers the l402-buy-credits tool with the MCP server. */
49
49
  export declare function registerBuyCreditsTool(server: McpServer, deps: BuyCreditsDeps): void;
@@ -82,7 +82,7 @@ export async function handleBuyCredits(args, deps) {
82
82
  isError: true,
83
83
  };
84
84
  }
85
- // Per-request cap — consistent with l402_fetch and l402_redeem_cashu.
85
+ // Per-request cap — consistent with l402-fetch and l402-redeem-cashu.
86
86
  // Skip for human wallet: the user approves manually via QR, so the auto-pay cap
87
87
  // should not block their explicit choice to buy a larger tier.
88
88
  const effectiveMethod = args.method ?? deps.walletMethod();
@@ -145,7 +145,7 @@ export async function handleBuyCredits(args, deps) {
145
145
  invoice,
146
146
  paymentHash: decoded.paymentHash,
147
147
  costSats: args.amountSats,
148
- message: `Scan QR to pay ${args.amountSats} sats. After payment, call l402_pay with the paymentHash.`,
148
+ message: `Scan QR to pay ${args.amountSats} sats. After payment, call l402-pay with the paymentHash.`,
149
149
  }, null, 2);
150
150
  // Combine QR + JSON in one text block so terminals render the QR with newlines
151
151
  const content = [{
@@ -179,10 +179,11 @@ export async function handleBuyCredits(args, deps) {
179
179
  };
180
180
  }
181
181
  }
182
- /** Registers the l402_buy_credits tool with the MCP server. */
182
+ /** Registers the l402-buy-credits tool with the MCP server. */
183
183
  export function registerBuyCreditsTool(server, deps) {
184
- server.registerTool('l402_buy_credits', {
184
+ server.registerTool('l402-buy-credits', {
185
185
  description: 'Buy credits from a toll-booth server with volume discounts. Omit amountSats to discover available tiers. Provide amountSats to purchase a specific tier. Only works with toll-booth servers.',
186
+ annotations: { destructiveHint: true, openWorldHint: true },
186
187
  inputSchema: {
187
188
  url: z.url().describe('The toll-booth server URL'),
188
189
  amountSats: z.number().int().positive().optional().describe('Amount in sats to purchase. Omit to list available tiers.'),
@@ -1 +1 @@
1
- {"version":3,"file":"buy-credits.js","sourceRoot":"","sources":["../../src/tools/buy-credits.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAElD,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACrC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAA;AAcF,wEAAwE;AACxE,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,IAAiE,EACjE,IAAoB;IAEpB,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAA;IAEvC,IAAI,CAAC;QACH,yEAAyE;QACzE,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;YAEhE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,CAAC;4BACR,IAAI,EAAE,MAAe;4BACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,QAAQ,CAAC,MAAM,qCAAqC,EAAE,CAAC;yBAC9G,CAAC;oBACF,OAAO,EAAE,IAAa;iBACvB,CAAA;YACH,CAAC;YAED,IAAI,IAAI,GAA4B,EAAE,CAAA;YACtC,IAAI,CAAC;gBAAC,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAA6B,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,cAAc,CAAC,CAAC;YAExF,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;qBAClE,CAAC;aACH,CAAA;QACH,CAAC;QAED,wCAAwC;QACxC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,MAAM,iBAAiB,EAAE;YAC9D,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;SACtD,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAA;QAElB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,kCAAkC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC;qBACtF,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QAED,MAAM,GAAG,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC1C,MAAM,SAAS,GAAG,qBAAqB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACtD,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,+DAA+D,EAAE,CAAC;qBACjG,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAA;QAE7E,2EAA2E;QAC3E,4EAA4E;QAC5E,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAA;QAC1C,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,yGAAyG,EAAE,CAAC;qBAC3I,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QACD,IAAI,OAAO,CAAC,QAAQ,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,OAAO,CAAC,QAAQ,2CAA2C,IAAI,CAAC,UAAU,0BAA0B,EAAE,CAAC;qBACzJ,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QAED,sEAAsE;QACtE,gFAAgF;QAChF,+DAA+D;QAC/D,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAA;QAC1D,IAAI,eAAe,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,UAAU,OAAO,CAAC,QAAQ,oCAAoC,IAAI,CAAC,cAAc,uDAAuD,EAAE,CAAC;qBAC1K,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QAED,gFAAgF;QAChF,MAAM,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAA;QACpC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC1E,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,iCAAiC,EAAE,CAAC;qBACnE,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC,CAAA;QAE/F,sDAAsD;QACtD,IAAI,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;QAED,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;YAEpG,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,IAAI,EAAE,IAAI;4BACV,UAAU,EAAE,IAAI,CAAC,UAAU;4BAC3B,eAAe,EAAE,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;4BACnE,iBAAiB,EAAE,MAAM;4BACzB,MAAM,EAAE,SAAS,CAAC,MAAM;4BACxB,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,kFAAkF,EAAE,CAAC;yBACnH,EAAE,IAAI,EAAE,CAAC,CAAC;qBACZ,CAAC;gBACF,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,CAAC;aAC9C,CAAA;QACH,CAAC;QAED,8DAA8D;QAC9D,IAAI,SAAS,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;YACjC,IAAI,MAA0B,CAAA;YAC9B,IAAI,WAA+B,CAAA;YACnC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;gBACzC,MAAM,GAAG,EAAE,CAAC,IAAI,CAAA;gBAChB,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC,CAAA;YAC9D,CAAC;YAAC,MAAM,CAAC;gBACP,yDAAyD;YAC3D,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;gBAC1B,IAAI,EAAE,KAAK;gBACX,OAAO;gBACP,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,QAAQ,EAAE,IAAI,CAAC,UAAU;gBACzB,OAAO,EAAE,kBAAkB,IAAI,CAAC,UAAU,2DAA2D;aACtG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;YAEX,+EAA+E;YAC/E,MAAM,OAAO,GAA8F,CAAC;oBAC1G,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;iBAC7C,CAAC,CAAA;YAEF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,OAAgB;oBACtB,IAAI,EAAE,WAAW;oBACjB,QAAQ,EAAE,WAAW;iBACtB,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,EAAE,OAAO,EAAE,CAAA;QACpB,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC;iBAChE,CAAC;YACF,OAAO,EAAE,IAAa;SACvB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;iBACvD,CAAC;YACF,OAAO,EAAE,IAAa;SACvB,CAAA;IACH,CAAC;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,sBAAsB,CAAC,MAAiB,EAAE,IAAoB;IAC5E,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,8LAA8L;QAC3M,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;YAClD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;YACxH,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;SACzF;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CAC7C,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"buy-credits.js","sourceRoot":"","sources":["../../src/tools/buy-credits.ts"],"names":[],"mappings":"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"}
@@ -13,5 +13,5 @@ export declare function handleConfig(state: ConfigState): {
13
13
  text: string;
14
14
  }[];
15
15
  };
16
- /** Registers the l402_config tool with the MCP server. */
16
+ /** Registers the l402-config tool with the MCP server. */
17
17
  export declare function registerConfigTool(server: McpServer, getState: () => ConfigState): void;
@@ -7,10 +7,11 @@ export function handleConfig(state) {
7
7
  }],
8
8
  };
9
9
  }
10
- /** Registers the l402_config tool with the MCP server. */
10
+ /** Registers the l402-config tool with the MCP server. */
11
11
  export function registerConfigTool(server, getState) {
12
- server.registerTool('l402_config', {
12
+ server.registerTool('l402-config', {
13
13
  description: 'Introspect the MCP\'s payment capabilities: which wallets are configured, spending limits, and stored credential count. Call this first to understand what payment methods are available.',
14
+ annotations: { readOnlyHint: true },
14
15
  inputSchema: {},
15
16
  }, () => handleConfig(getState()));
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"AAUA,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC,CAAC;KACH,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,QAA2B;IAE3B,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,2LAA2L;QACxM,WAAW,EAAE,EAAE;KAChB,EACD,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAC/B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/tools/config.ts"],"names":[],"mappings":"AAUA,0EAA0E;AAC1E,MAAM,UAAU,YAAY,CAAC,KAAkB;IAC7C,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;aACrC,CAAC;KACH,CAAA;AACH,CAAC;AAED,0DAA0D;AAC1D,MAAM,UAAU,kBAAkB,CAChC,MAAiB,EACjB,QAA2B;IAE3B,MAAM,CAAC,YAAY,CACjB,aAAa,EACb;QACE,WAAW,EAAE,2LAA2L;QACxM,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;QACnC,WAAW,EAAE,EAAE;KAChB,EACD,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAC/B,CAAA;AACH,CAAC"}
@@ -7,5 +7,5 @@ export declare function handleCredentials(store: CredentialStore): {
7
7
  text: string;
8
8
  }[];
9
9
  };
10
- /** Registers the l402_credentials tool with the MCP server. */
10
+ /** Registers the l402-credentials tool with the MCP server. */
11
11
  export declare function registerCredentialsTool(server: McpServer, store: CredentialStore): void;
@@ -7,10 +7,11 @@ export function handleCredentials(store) {
7
7
  }],
8
8
  };
9
9
  }
10
- /** Registers the l402_credentials tool with the MCP server. */
10
+ /** Registers the l402-credentials tool with the MCP server. */
11
11
  export function registerCredentialsTool(server, store) {
12
- server.registerTool('l402_credentials', {
12
+ server.registerTool('l402-credentials', {
13
13
  description: 'List all stored L402 credentials. Shows origin, cached credit balance, and server type. Balance values are cached and may be stale; check lastUsed timestamp.',
14
+ annotations: { readOnlyHint: true },
14
15
  inputSchema: {},
15
16
  }, () => handleCredentials(store));
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/tools/credentials.ts"],"names":[],"mappings":"AAGA,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACjE,CAAC;KACH,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,KAAsB;IAC/E,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,+JAA+J;QAC5K,WAAW,EAAE,EAAE;KAChB,EACD,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAC/B,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/tools/credentials.ts"],"names":[],"mappings":"AAGA,+FAA+F;AAC/F,MAAM,UAAU,iBAAiB,CAAC,KAAsB;IACtD,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;aACjE,CAAC;KACH,CAAA;AACH,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,uBAAuB,CAAC,MAAiB,EAAE,KAAsB;IAC/E,MAAM,CAAC,YAAY,CACjB,kBAAkB,EAClB;QACE,WAAW,EAAE,+JAA+J;QAC5K,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE;QACnC,WAAW,EAAE,EAAE;KAChB,EACD,GAAG,EAAE,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAC/B,CAAA;AACH,CAAC"}
@@ -24,5 +24,5 @@ export declare function handleDiscover(args: {
24
24
  }[];
25
25
  isError?: undefined;
26
26
  }>;
27
- /** Registers the l402_discover tool with the MCP server. */
27
+ /** Registers the l402-discover tool with the MCP server. */
28
28
  export declare function registerDiscoverTool(server: McpServer, deps: DiscoverDeps): void;
@@ -38,7 +38,7 @@ export async function handleDiscover(args, deps) {
38
38
  }
39
39
  const decoded = deps.decodeBolt11(challenge.invoice);
40
40
  const serverInfo = detectServer(response.headers, body);
41
- // Cache the challenge for later use by l402_pay
41
+ // Cache the challenge for later use by l402-pay
42
42
  deps.cache.set({
43
43
  invoice: challenge.invoice,
44
44
  macaroon: challenge.macaroon,
@@ -78,10 +78,11 @@ export async function handleDiscover(args, deps) {
78
78
  };
79
79
  }
80
80
  }
81
- /** Registers the l402_discover tool with the MCP server. */
81
+ /** Registers the l402-discover tool with the MCP server. */
82
82
  export function registerDiscoverTool(server, deps) {
83
- server.registerTool('l402_discover', {
84
- description: 'Probe an endpoint to discover its L402 pricing without committing to payment. Returns the cost in sats, available payment methods, and credit tiers (if toll-booth server). The challenge is cached so a subsequent l402_pay can reuse it.',
83
+ server.registerTool('l402-discover', {
84
+ description: 'Probe an endpoint to discover its L402 pricing without committing to payment. Returns the cost in sats, available payment methods, and credit tiers (if toll-booth server). The challenge is cached so a subsequent l402-pay can reuse it.',
85
+ annotations: { readOnlyHint: true, openWorldHint: true },
85
86
  inputSchema: {
86
87
  url: z.url().describe('The URL to probe for L402 pricing'),
87
88
  method: z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']).optional().default('GET').describe('HTTP method to use'),
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/tools/discover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAIhD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAQlD,4FAA4F;AAC5F,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAsC,EACtC,IAAkB;IAElB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,CAAC,CAAA;QAE/E,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,KAAK,EAAE,wBAAwB,QAAQ,CAAC,MAAM,0CAA0C;4BACxF,MAAM,EAAE,QAAQ,CAAC,MAAM;yBACxB,CAAC;qBACH,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QAED,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAA;QACjE,MAAM,SAAS,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAA;QAEhD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oDAAoD,EAAE,CAAC;qBACtF,CAAC;gBACF,OAAO,EAAE,IAAa;aACvB,CAAA;QACH,CAAC;QAED,IAAI,IAAI,GAAY,EAAE,CAAA;QACtB,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAC9B,CAAC;QAAC,MAAM,CAAC;YACP,uBAAuB;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QACpD,MAAM,UAAU,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QAEvD,gDAAgD;QAChD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YACb,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE;YACtC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI;YAC7C,GAAG,EAAE,IAAI,CAAC,GAAG;SACd,CAAC,CAAA;QAEF,MAAM,MAAM,GAA4B;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,SAAS,CAAC,OAAO;YAC1B,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAA;QAED,IAAI,UAAU,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YACrC,MAAM,CAAC,MAAM,GAAG,YAAY,CAAA;YAC5B,MAAM,OAAO,GAAG,IAA+B,CAAA;YAC/C,IAAI,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChE,MAAM,CAAC,WAAW,GAAG,OAAO,CAAC,YAAY,CAAA;YAC3C,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;iBACtC,CAAC;SACH,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;iBACvD,CAAC;YACF,OAAO,EAAE,IAAa;SACvB,CAAA;IACH,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,MAAM,UAAU,oBAAoB,CAClC,MAAiB,EACjB,IAAkB;IAElB,MAAM,CAAC,YAAY,CACjB,eAAe,EACf;QACE,WAAW,EAAE,4OAA4O;QACzP,WAAW,EAAE;YACX,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;YAC1D,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,oBAAoB,CAAC;SACtI;KACF,EACD,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAC3C,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/tools/discover.ts"],"names":[],"mappings":"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"}