mppx 0.6.16 → 0.6.18

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 (61) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/Challenge.d.ts +0 -10
  3. package/dist/Challenge.d.ts.map +1 -1
  4. package/dist/Receipt.d.ts +0 -5
  5. package/dist/Receipt.d.ts.map +1 -1
  6. package/dist/cli/cli.d.ts +4 -0
  7. package/dist/cli/cli.d.ts.map +1 -1
  8. package/dist/cli/cli.js +230 -10
  9. package/dist/cli/cli.js.map +1 -1
  10. package/dist/cli/plugins/plugin.d.ts +5 -0
  11. package/dist/cli/plugins/plugin.d.ts.map +1 -1
  12. package/dist/cli/plugins/plugin.js.map +1 -1
  13. package/dist/cli/plugins/stripe.d.ts.map +1 -1
  14. package/dist/cli/plugins/stripe.js +7 -2
  15. package/dist/cli/plugins/stripe.js.map +1 -1
  16. package/dist/cli/plugins/tempo.d.ts.map +1 -1
  17. package/dist/cli/plugins/tempo.js +69 -9
  18. package/dist/cli/plugins/tempo.js.map +1 -1
  19. package/dist/cli/utils.d.ts +10 -2
  20. package/dist/cli/utils.d.ts.map +1 -1
  21. package/dist/cli/utils.js +11 -4
  22. package/dist/cli/utils.js.map +1 -1
  23. package/dist/stripe/server/internal/html.gen.d.ts +1 -1
  24. package/dist/stripe/server/internal/html.gen.d.ts.map +1 -1
  25. package/dist/stripe/server/internal/html.gen.js +1 -1
  26. package/dist/stripe/server/internal/html.gen.js.map +1 -1
  27. package/dist/tempo/internal/fee-token.d.ts +7 -0
  28. package/dist/tempo/internal/fee-token.d.ts.map +1 -0
  29. package/dist/tempo/internal/fee-token.js +44 -0
  30. package/dist/tempo/internal/fee-token.js.map +1 -0
  31. package/dist/tempo/server/Session.d.ts.map +1 -1
  32. package/dist/tempo/server/Session.js +2 -0
  33. package/dist/tempo/server/Session.js.map +1 -1
  34. package/dist/tempo/server/internal/html.gen.d.ts +1 -1
  35. package/dist/tempo/server/internal/html.gen.d.ts.map +1 -1
  36. package/dist/tempo/server/internal/html.gen.js +1 -1
  37. package/dist/tempo/server/internal/html.gen.js.map +1 -1
  38. package/dist/tempo/session/Chain.d.ts +4 -0
  39. package/dist/tempo/session/Chain.d.ts.map +1 -1
  40. package/dist/tempo/session/Chain.js +19 -35
  41. package/dist/tempo/session/Chain.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/cli/cli.test.ts +120 -0
  44. package/src/cli/cli.ts +254 -10
  45. package/src/cli/mcp.test.ts +3 -0
  46. package/src/cli/plugins/plugin.ts +9 -1
  47. package/src/cli/plugins/stripe.ts +7 -0
  48. package/src/cli/plugins/tempo.ts +83 -12
  49. package/src/cli/utils.test.ts +12 -1
  50. package/src/cli/utils.ts +23 -5
  51. package/src/stripe/server/internal/html/node_modules/.bin/mppx +22 -0
  52. package/src/stripe/server/internal/html/node_modules/.bin/mppx.src +3 -2
  53. package/src/stripe/server/internal/html.gen.ts +1 -1
  54. package/src/tempo/internal/fee-token.test.ts +123 -0
  55. package/src/tempo/internal/fee-token.ts +51 -0
  56. package/src/tempo/server/Charge.test.ts +18 -2
  57. package/src/tempo/server/Session.ts +2 -0
  58. package/src/tempo/server/internal/html/node_modules/.bin/mppx +22 -0
  59. package/src/tempo/server/internal/html/node_modules/.bin/mppx.src +3 -2
  60. package/src/tempo/server/internal/html.gen.ts +1 -1
  61. package/src/tempo/session/Chain.ts +54 -42
@@ -1 +1 @@
1
- {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,206tBAA206tB,CAAA"}
1
+ {"version":3,"file":"html.gen.js","sourceRoot":"","sources":["../../../../src/tempo/server/internal/html.gen.ts"],"names":[],"mappings":"AAAA,2BAA2B;AAC3B,MAAM,CAAC,MAAM,IAAI,GAAG,0rvdAA0rvd,CAAA"}
@@ -19,9 +19,11 @@ export declare function verifyTopUpTransaction(client: Client, escrowContract: A
19
19
  }>;
20
20
  /** Options for {@link settleOnChain}. */
21
21
  export type SettleOptions = {
22
+ candidateFeeTokens?: readonly Address[] | undefined;
22
23
  feePayer: Account;
23
24
  account: Account;
24
25
  } | {
26
+ candidateFeeTokens?: readonly Address[] | undefined;
25
27
  feePayer?: undefined;
26
28
  account?: Account | undefined;
27
29
  };
@@ -31,9 +33,11 @@ export type SettleOptions = {
31
33
  export declare function settleOnChain(client: Client, escrowContract: Address, voucher: SignedVoucher, options?: SettleOptions): Promise<Hex>;
32
34
  /** Options for {@link closeOnChain}. */
33
35
  export type CloseOptions = {
36
+ candidateFeeTokens?: readonly Address[] | undefined;
34
37
  feePayer: Account;
35
38
  account: Account;
36
39
  } | {
40
+ candidateFeeTokens?: readonly Address[] | undefined;
37
41
  feePayer?: undefined;
38
42
  account?: Account | undefined;
39
43
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../src/tempo/session/Chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chain.d.ts","sourceRoot":"","sources":["../../../src/tempo/session/Chain.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import { decodeFunctionData, encodeFunctionData, erc20Abi, getAbiItem, toFunctionSelector, } from 'viem';
2
- import { call, prepareTransactionRequest, readContract, sendRawTransaction, sendRawTransactionSync, signTransaction, writeContract, } from 'viem/actions';
2
+ import { call, prepareTransactionRequest, readContract, sendRawTransaction, sendRawTransactionSync, signTransaction, } from 'viem/actions';
3
3
  import { Transaction } from 'viem/tempo';
4
4
  import { BadRequestError, ChannelClosedError, VerificationFailedError } from '../../Errors.js';
5
5
  import * as TempoAddress from '../internal/address.js';
6
6
  import * as defaults from '../internal/defaults.js';
7
7
  import * as FeePayer from '../internal/fee-payer.js';
8
+ import { resolveFeeToken } from '../internal/fee-token.js';
8
9
  import * as Channel from './Channel.js';
9
10
  import { escrowAbi } from './escrow.abi.js';
10
11
  export { escrowAbi };
@@ -49,9 +50,6 @@ function assertUint128(amount) {
49
50
  throw new VerificationFailedError({ reason: 'cumulativeAmount exceeds uint128 range' });
50
51
  }
51
52
  }
52
- function isTempoAccessKeyAccount(account) {
53
- return 'accessKeyAddress' in account && typeof account.accessKeyAddress === 'string';
54
- }
55
53
  /**
56
54
  * Submit a settle transaction on-chain.
57
55
  */
@@ -63,19 +61,9 @@ export async function settleOnChain(client, escrowContract, voucher, options) {
63
61
  const args = [voucher.channelId, voucher.cumulativeAmount, voucher.signature];
64
62
  if (options?.feePayer) {
65
63
  const data = encodeFunctionData({ abi: escrowAbi, functionName: 'settle', args });
66
- return sendFeePayerTx(client, resolved, options.feePayer, escrowContract, data, 'settle');
67
- }
68
- if (isTempoAccessKeyAccount(resolved)) {
69
- return sendAccountTx(client, resolved, escrowContract, encodeFunctionData({ abi: escrowAbi, functionName: 'settle', args }), 'settle');
64
+ return sendFeePayerTx(client, resolved, options.feePayer, escrowContract, data, 'settle', options.candidateFeeTokens);
70
65
  }
71
- return writeContract(client, {
72
- account: resolved,
73
- chain: client.chain,
74
- address: escrowContract,
75
- abi: escrowAbi,
76
- functionName: 'settle',
77
- args,
78
- });
66
+ return sendAccountTx(client, resolved, escrowContract, encodeFunctionData({ abi: escrowAbi, functionName: 'settle', args }), 'settle', options?.candidateFeeTokens);
79
67
  }
80
68
  /**
81
69
  * Submit a close transaction on-chain.
@@ -88,24 +76,20 @@ export async function closeOnChain(client, escrowContract, voucher, options) {
88
76
  const args = [voucher.channelId, voucher.cumulativeAmount, voucher.signature];
89
77
  if (options?.feePayer) {
90
78
  const data = encodeFunctionData({ abi: escrowAbi, functionName: 'close', args });
91
- return sendFeePayerTx(client, resolved, options.feePayer, escrowContract, data, 'close');
92
- }
93
- if (isTempoAccessKeyAccount(resolved)) {
94
- return sendAccountTx(client, resolved, escrowContract, encodeFunctionData({ abi: escrowAbi, functionName: 'close', args }), 'close');
79
+ return sendFeePayerTx(client, resolved, options.feePayer, escrowContract, data, 'close', options.candidateFeeTokens);
95
80
  }
96
- return writeContract(client, {
97
- account: resolved,
98
- chain: client.chain,
99
- address: escrowContract,
100
- abi: escrowAbi,
101
- functionName: 'close',
102
- args,
103
- });
81
+ return sendAccountTx(client, resolved, escrowContract, encodeFunctionData({ abi: escrowAbi, functionName: 'close', args }), 'close', options?.candidateFeeTokens);
104
82
  }
105
- async function sendAccountTx(client, account, to, data, label) {
83
+ async function sendAccountTx(client, account, to, data, label, candidateFeeTokens) {
84
+ const feeToken = await resolveFeeToken({
85
+ account: account.address,
86
+ candidateTokens: candidateFeeTokens,
87
+ client,
88
+ });
106
89
  const prepared = await prepareTransactionRequest(client, {
107
90
  account,
108
91
  calls: [{ to, data }],
92
+ ...(feeToken ? { feeToken } : {}),
109
93
  });
110
94
  prepared.gas = prepared.gas + 5000n;
111
95
  const serialized = (await signTransaction(client, {
@@ -132,12 +116,12 @@ async function sendAccountTx(client, account, to, data, label) {
132
116
  * @param account - The logical sender / msg.sender (e.g. the payee).
133
117
  * @param feePayer - The gas sponsor — only co-signs to cover fees.
134
118
  */
135
- async function sendFeePayerTx(client, account, feePayer, to, data, label) {
136
- // Resolve the fee token for this chain so the tx pays gas in the correct
137
- // token. `feePayer: true` tells the prepare hook to use expiring nonces but
138
- // does NOT set feeToken automatically, so we must provide it explicitly.
139
- const chainId = client.chain?.id;
140
- const feeToken = chainId ? defaults.resolveCurrency({ chainId }) : undefined;
119
+ async function sendFeePayerTx(client, account, feePayer, to, data, label, candidateFeeTokens) {
120
+ const feeToken = await resolveFeeToken({
121
+ account: feePayer.address,
122
+ candidateTokens: candidateFeeTokens,
123
+ client,
124
+ });
141
125
  const prepared = await prepareTransactionRequest(client, {
142
126
  account,
143
127
  calls: [{ to, data }],
@@ -1 +1 @@
1
- {"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../src/tempo/session/Chain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Chain.js","sourceRoot":"","sources":["../../../src/tempo/session/Chain.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mppx",
3
3
  "type": "module",
4
- "version": "0.6.16",
4
+ "version": "0.6.18",
5
5
  "main": "./dist/index.js",
6
6
  "license": "MIT",
7
7
  "files": [
@@ -105,7 +105,7 @@
105
105
  "@modelcontextprotocol/sdk": ">=1.25.0",
106
106
  "elysia": ">=1",
107
107
  "express": ">=5",
108
- "hono": ">=4.12.16",
108
+ "hono": ">=4.12.18",
109
109
  "viem": ">=2.47.5"
110
110
  },
111
111
  "peerDependenciesMeta": {
@@ -124,7 +124,7 @@
124
124
  },
125
125
  "dependencies": {
126
126
  "incur": "^0.4.5",
127
- "ox": "0.14.20",
127
+ "ox": "0.14.18",
128
128
  "zod": "^4.3.6"
129
129
  },
130
130
  "repository": {
@@ -318,6 +318,114 @@ describe('discover generate', () => {
318
318
  })
319
319
  })
320
320
 
321
+ describe('services', () => {
322
+ const registry = {
323
+ version: 1,
324
+ services: [
325
+ {
326
+ id: 'fal',
327
+ name: 'fal',
328
+ serviceUrl: 'https://fal.mpp.dev',
329
+ description: 'Image generation',
330
+ tags: ['image'],
331
+ status: 'active',
332
+ docs: { homepage: 'https://docs.fal.ai' },
333
+ endpoints: [
334
+ {
335
+ method: 'POST',
336
+ path: '/fal-ai/fast-sdxl',
337
+ description: 'Generate an image',
338
+ payment: {
339
+ amount: '3000',
340
+ currency: '0x20c000000000000000000000b9537d11c60e8b50',
341
+ decimals: 6,
342
+ intent: 'charge',
343
+ method: 'tempo',
344
+ },
345
+ },
346
+ {
347
+ method: 'GET',
348
+ path: '/health',
349
+ description: 'Health check',
350
+ payment: null,
351
+ },
352
+ ],
353
+ },
354
+ {
355
+ id: 'freebie',
356
+ name: 'Freebie',
357
+ serviceUrl: 'https://freebie.example',
358
+ endpoints: [],
359
+ },
360
+ ],
361
+ }
362
+
363
+ async function withRegistry<T>(fn: (url: string) => Promise<T>) {
364
+ const server = await Http.createServer((_req, res) => {
365
+ res.setHeader('Content-Type', 'application/json')
366
+ res.end(JSON.stringify(registry))
367
+ })
368
+ try {
369
+ return await fn(server.url)
370
+ } finally {
371
+ server.close()
372
+ }
373
+ }
374
+
375
+ test('list: prints registered services', async () => {
376
+ await withRegistry(async (url) => {
377
+ const { output, exitCode } = await serve(['services', 'list'], {
378
+ env: { MPPX_SERVICES_URL: url },
379
+ })
380
+
381
+ expect(exitCode).toBeUndefined()
382
+ expect(output).toContain('fal')
383
+ expect(output).toContain('1 paid')
384
+ expect(output).toContain('https://fal.mpp.dev')
385
+ })
386
+ })
387
+
388
+ test('list: supports structured output and filtering', async () => {
389
+ await withRegistry(async (url) => {
390
+ const { output, exitCode } = await serve(['services', 'list', '--query', 'image', '--json'], {
391
+ env: { MPPX_SERVICES_URL: url },
392
+ })
393
+
394
+ expect(exitCode).toBeUndefined()
395
+ const parsed = JSON.parse(output)
396
+ expect(parsed.services).toHaveLength(1)
397
+ expect(parsed.services[0]).toMatchObject({ id: 'fal', paidEndpoints: 1 })
398
+ })
399
+ })
400
+
401
+ test('show: prints service metadata', async () => {
402
+ await withRegistry(async (url) => {
403
+ const { output, exitCode } = await serve(['services', 'show', 'fal'], {
404
+ env: { MPPX_SERVICES_URL: url },
405
+ })
406
+
407
+ expect(exitCode).toBeUndefined()
408
+ expect(output).toContain('Image generation')
409
+ expect(output).toContain('https://docs.fal.ai')
410
+ expect(output).toContain('2 (1 paid)')
411
+ })
412
+ })
413
+
414
+ test('endpoints: prints paid endpoint details', async () => {
415
+ await withRegistry(async (url) => {
416
+ const { output, exitCode } = await serve(['services', 'endpoints', 'fal'], {
417
+ env: { MPPX_SERVICES_URL: url },
418
+ })
419
+
420
+ expect(exitCode).toBeUndefined()
421
+ expect(output).toContain('POST')
422
+ expect(output).toContain('/fal-ai/fast-sdxl')
423
+ expect(output).toContain('3000')
424
+ expect(output).toContain('tempo/charge')
425
+ })
426
+ })
427
+ })
428
+
321
429
  describe('basic charge (examples/basic)', () => {
322
430
  test('happy path: makes payment and receives response', { timeout: 120_000 }, async () => {
323
431
  const { Actions } = await import('viem/tempo')
@@ -1413,6 +1521,7 @@ test('mppx --help', async () => {
1413
1521
  expect(output).toContain('mppx')
1414
1522
  expect(output).toContain('<url>')
1415
1523
  expect(output).toContain('account')
1524
+ expect(output).toContain('services')
1416
1525
  expect(output).toContain('sign')
1417
1526
  })
1418
1527
 
@@ -1537,6 +1646,17 @@ export default defineConfig({
1537
1646
  expect(output.trim()).toMatch(/^Payment\s+\S+/)
1538
1647
  })
1539
1648
 
1649
+ test('rejects unsupported tempo method options', async () => {
1650
+ const { output, exitCode } = await serve(
1651
+ ['sign', '--challenge', validChallenge, '--rpc-url', rpcUrl, '-M', 'feeToken=0xabc'],
1652
+ { env: { MPPX_PRIVATE_KEY: testPrivateKey } },
1653
+ )
1654
+
1655
+ expect(exitCode).toBeDefined()
1656
+ expect(output).toContain('Unsupported CLI method option')
1657
+ expect(output).toContain('feeToken')
1658
+ })
1659
+
1540
1660
  test('happy path: --json outputs authorization', { timeout: 120_000 }, async () => {
1541
1661
  const { output, stderr, exitCode } = await serve(
1542
1662
  ['sign', '--challenge', validChallenge, '--rpc-url', rpcUrl, '--json'],