@hpp-io/x402-mcp-bridge 0.0.3 → 0.1.1

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 (69) hide show
  1. package/README.md +47 -27
  2. package/dist/a2a.js +11 -3
  3. package/dist/autoTopup.js +4 -0
  4. package/dist/cli/hpp-x402.js +3 -1
  5. package/dist/cli/serve.js +128 -0
  6. package/dist/config.js +27 -5
  7. package/dist/funds/direct-balance.js +5 -2
  8. package/dist/httpX402.js +7 -0
  9. package/dist/index.js +40 -2
  10. package/dist/sellerTools.js +202 -0
  11. package/dist/server.js +138 -3
  12. package/dist/spendGuard.js +124 -0
  13. package/package.json +8 -4
  14. package/dist/a2a.d.ts +0 -70
  15. package/dist/a2a.js.map +0 -1
  16. package/dist/autoTopup.d.ts +0 -51
  17. package/dist/autoTopup.js.map +0 -1
  18. package/dist/cli/channel.d.ts +0 -1
  19. package/dist/cli/channel.js.map +0 -1
  20. package/dist/cli/hpp-x402.d.ts +0 -2
  21. package/dist/cli/hpp-x402.js.map +0 -1
  22. package/dist/cli/install-claude-code.d.ts +0 -24
  23. package/dist/cli/install-claude-code.js.map +0 -1
  24. package/dist/cli/install-claude.d.ts +0 -7
  25. package/dist/cli/install-claude.js.map +0 -1
  26. package/dist/cli/install-cursor.d.ts +0 -7
  27. package/dist/cli/install-cursor.js.map +0 -1
  28. package/dist/cli/install-mcp-host.d.ts +0 -35
  29. package/dist/cli/install-mcp-host.js.map +0 -1
  30. package/dist/cli/install-openclaw.d.ts +0 -7
  31. package/dist/cli/install-openclaw.js.map +0 -1
  32. package/dist/cli/install-windsurf.d.ts +0 -7
  33. package/dist/cli/install-windsurf.js.map +0 -1
  34. package/dist/cli/policy.d.ts +0 -1
  35. package/dist/cli/policy.js.map +0 -1
  36. package/dist/cli/revoke.d.ts +0 -1
  37. package/dist/cli/revoke.js.map +0 -1
  38. package/dist/cli/safe.d.ts +0 -14764
  39. package/dist/cli/safe.js.map +0 -1
  40. package/dist/cli/setup.d.ts +0 -1
  41. package/dist/cli/setup.js.map +0 -1
  42. package/dist/client.d.ts +0 -45
  43. package/dist/client.js.map +0 -1
  44. package/dist/config.d.ts +0 -85
  45. package/dist/config.js.map +0 -1
  46. package/dist/discovery.d.ts +0 -43
  47. package/dist/discovery.js.map +0 -1
  48. package/dist/discoveryTools.d.ts +0 -75
  49. package/dist/discoveryTools.js.map +0 -1
  50. package/dist/funds/direct-balance.d.ts +0 -27
  51. package/dist/funds/direct-balance.js.map +0 -1
  52. package/dist/funds.d.ts +0 -26
  53. package/dist/funds.js.map +0 -1
  54. package/dist/httpX402.d.ts +0 -45
  55. package/dist/httpX402.js.map +0 -1
  56. package/dist/index.d.ts +0 -1
  57. package/dist/index.js.map +0 -1
  58. package/dist/keychain.d.ts +0 -23
  59. package/dist/keychain.js.map +0 -1
  60. package/dist/log.d.ts +0 -16
  61. package/dist/log.js.map +0 -1
  62. package/dist/policy.d.ts +0 -73
  63. package/dist/policy.js.map +0 -1
  64. package/dist/server.d.ts +0 -24
  65. package/dist/server.js.map +0 -1
  66. package/dist/signer.d.ts +0 -45
  67. package/dist/signer.js.map +0 -1
  68. package/dist/signers/raw-eoa.d.ts +0 -12
  69. package/dist/signers/raw-eoa.js.map +0 -1
package/dist/server.d.ts DELETED
@@ -1,24 +0,0 @@
1
- import type { UpstreamClient } from "./client.js";
2
- import type { DiscoveryClient } from "./discovery.js";
3
- import type { RawEoaSigner } from "./signers/raw-eoa.js";
4
- import type { Funds } from "./funds.js";
5
- import type { Network } from "@x402/core/types";
6
- export interface BridgeServerOptions {
7
- /** Upstream resource server. Undefined = local-tools-only mode. */
8
- upstream?: UpstreamClient;
9
- name: string;
10
- version: string;
11
- /** Delegate signer + network — used by the local `pay_a2a_agent` tool. */
12
- signer: RawEoaSigner;
13
- network: Network;
14
- funds?: Funds;
15
- /** Curated-discovery client. Present = register hpp_discover / hpp_call. */
16
- discovery?: DiscoveryClient;
17
- /**
18
- * Per-request timeout for the A2A JSON-RPC calls in `pay_a2a_agent`.
19
- * Surfaced via env `HPP_X402_A2A_RPC_TIMEOUT_MS` (set at CLI entry);
20
- * defaults to {@link DEFAULT_A2A_RPC_TIMEOUT_MS} (60s) when omitted.
21
- */
22
- a2aRpcTimeoutMs?: number;
23
- }
24
- export declare function startBridgeServer(opts: BridgeServerOptions): Promise<void>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/signer.d.ts DELETED
@@ -1,45 +0,0 @@
1
- /**
2
- * Signer abstraction.
3
- *
4
- * The bridge needs two signing capabilities:
5
- * 1. EIP-712 typed-data — for x402 EIP-3009 transferWithAuthorization
6
- * and AllowanceModule.AllowanceTransfer.
7
- * 2. Generic transactions — for sending the executeAllowanceTransfer
8
- * call (the delegate is the tx sender + payer of gas).
9
- *
10
- * The PoC implementation is a raw-key viem account (`signers/raw-eoa.ts`).
11
- * Future implementations swap in:
12
- * - OS keychain wrapper (still raw key, just unsealed lazily)
13
- * - HPP self-hosted server-wallet API (HTTP signing)
14
- * - Coinbase CDP / Turnkey / Privy (if HPP support arrives)
15
- * - ERC-4337 smart account session keys
16
- *
17
- * Importantly, x402 EIP-3009 verification on USDC.e (FiatTokenV2_2) accepts
18
- * EIP-1271 contract signatures (verified 2026-04-30) — so a *contract*
19
- * wallet (Safe, smart account) can also fit this interface, returning a
20
- * Safe-format signature blob from `signTypedData`.
21
- */
22
- import type { Address, Hex, TypedDataDomain } from "viem";
23
- export interface Signer {
24
- /** Address that x402 / AllowanceModule sees as the signer / sender. */
25
- readonly address: Address;
26
- /**
27
- * Sign EIP-712 typed data. The bridge uses this for:
28
- * - EIP-3009 TransferWithAuthorization (x402 payment)
29
- * - AllowanceModule AllowanceTransfer (autoTopup)
30
- *
31
- * Returns the signature in the form the verifier expects:
32
- * - EOA: 65-byte ECDSA (r ‖ s ‖ v)
33
- * - Contract wallet: implementation-specific blob accepted by
34
- * EIP-1271 isValidSignature
35
- */
36
- signTypedData(args: {
37
- domain: TypedDataDomain;
38
- types: Record<string, {
39
- name: string;
40
- type: string;
41
- }[]>;
42
- primaryType: string;
43
- message: Record<string, unknown>;
44
- }): Promise<Hex>;
45
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"signer.js","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":""}
@@ -1,12 +0,0 @@
1
- import type { Address, Hex, PrivateKeyAccount } from "viem";
2
- import type { Signer } from "../signer.js";
3
- export declare class RawEoaSigner implements Signer {
4
- readonly address: Address;
5
- private readonly account;
6
- constructor(privateKey: Hex);
7
- /** Expose the underlying viem account for callers that need it
8
- * (writeContract / sendTransaction). Not part of the Signer interface;
9
- * bridge-internal use only. */
10
- get viemAccount(): PrivateKeyAccount;
11
- signTypedData(args: Parameters<Signer["signTypedData"]>[0]): Promise<Hex>;
12
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"raw-eoa.js","sourceRoot":"","sources":["../../src/signers/raw-eoa.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAKpD,MAAM,OAAO,YAAY;IACd,OAAO,CAAU;IACT,OAAO,CAAoB;IAE5C,YAAY,UAAe;QACzB,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACtC,CAAC;IAED;;oCAEgC;IAChC,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAA4C;QAC9D,sEAAsE;QACtE,oEAAoE;QACpE,uDAAuD;QACvD,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAyD,CAAC,CAAC;IAC/F,CAAC;CACF"}