@obul.ai/obulx 0.2.0 → 0.2.2

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/README.md CHANGED
@@ -7,6 +7,11 @@ Obul x402 CLI and library.
7
7
  npm install -g @obul.ai/obulx
8
8
  ```
9
9
 
10
+ Direct x402 mode (non-proxy) requires installing the optional addon:
11
+ ```bash
12
+ npm install -g @obul.ai/obulx-x402
13
+ ```
14
+
10
15
  ## What It Does
11
16
  `obulx` is a CLI for calling x402-protected endpoints. It supports:
12
17
  - Proxy mode (via Obul proxy) API key auth.
@@ -18,7 +23,7 @@ obulx [options] <url>
18
23
  ```
19
24
 
20
25
  ## Key Parameters
21
- - `--obul-proxy <BASE>`: Enables proxy mode and rewrites the URL as `BASE/{scheme}/{host}{path}?{query}`.
26
+ - `--obul-proxy <BASE>`: Enables proxy mode and rewrites the URL as `BASE/{scheme}/{host}{path}?{query}`. Defaults to `OBUL_PROXY_URL` or `https://proxy.obul.ai/proxy`.
22
27
  - `--network <NETWORK>`: Required for direct x402 mode. Repeatable or comma-separated.
23
28
  - `--auto-approve-limit <N>`: Required for direct x402 mode. Integer string in token units.
24
29
  - `--asset <ADDRESS>`: Optional in direct mode. Exact match (case-insensitive).
@@ -30,9 +35,10 @@ obulx [options] <url>
30
35
  - `-vvv`: Also show probe request + response in direct x402 mode.
31
36
 
32
37
  ## Environment Variables
33
- - `OBUL_PROXY_URL`: Default proxy base when `--obul-proxy` is not set.
38
+ - `OBUL_PROXY_URL`: Override proxy base (defaults to `https://proxy.obul.ai/proxy`).
34
39
  - `OBUL_API_KEY`: API key for proxy mode.
35
40
  - `OBUL_X402_PRIVATE_KEY`: Private signing key for direct x402 mode.
41
+ - `PRIVATE_KEY`: Fallback private key for direct x402 mode.
36
42
 
37
43
  ## Examples
38
44
 
@@ -55,6 +61,7 @@ obulx --obul-proxy https://proxy.devnet.obul.ai/proxy \
55
61
  Direct x402 mode:
56
62
  ```bash
57
63
  export OBUL_X402_PRIVATE_KEY="0x..."
64
+ npm install -g @obul.ai/obulx-x402
58
65
 
59
66
  obulx --network base --auto-approve-limit 1000 \
60
67
  https://x402.example.com/resource
@@ -63,6 +70,7 @@ obulx --network base --auto-approve-limit 1000 \
63
70
  Direct mode with network priority and asset filter:
64
71
  ```bash
65
72
  export OBUL_X402_PRIVATE_KEY="0x..."
73
+ npm install -g @obul.ai/obulx-x402
66
74
 
67
75
  obulx --network base,optimism --asset 0xA0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 \
68
76
  --auto-approve-limit 1000 \
@@ -77,6 +85,7 @@ obulx -vv --obul-proxy https://proxy.devnet.obul.ai/proxy \
77
85
 
78
86
  Verbose output (probe + final in direct mode):
79
87
  ```bash
88
+ npm install -g @obul.ai/obulx-x402
80
89
  obulx -vvv --network base --auto-approve-limit 1000 \
81
90
  https://x402.example.com/resource
82
91
  ```
package/dist/args.d.ts CHANGED
@@ -7,12 +7,11 @@ export type ParsedArgs = {
7
7
  asset?: string;
8
8
  autoApproveLimit?: string;
9
9
  obulProxy?: string;
10
- obulAccessToken?: string;
11
- obulApiKey?: string;
12
10
  verbose: number;
13
11
  help: boolean;
12
+ version: boolean;
14
13
  };
15
- export declare const helpText = "obulx [options] <url>\n\nOptions:\n -X, --method <METHOD> HTTP method (default GET)\n -d, --data <BODY> request body; defaults method to POST if method not set\n -H, --header <NAME: VALUE> add a header (repeatable)\n --network <NETWORK> accepted network (repeatable or comma-separated)\n --asset <ADDRESS> required asset address (exact match, case-insensitive)\n --auto-approve-limit <N> auto-approve limit in token units, integer string\n --obul-proxy <BASE> proxy base, e.g. https://proxy.devnet.obul.ai/proxy\n --obul-access-token <TOK> JWT access token for proxy mode (overrides env)\n --obul-api-key <KEY> API key for proxy mode (overrides env)\n -v, --verbose print final response status/headers\n -vv also print x402 probe request/response when in direct mode\n -h, --help show usage\n";
14
+ export declare const helpText = "obulx [options] <url>\n\nOptions:\n -X, --method <METHOD> HTTP method (default GET)\n -d, --data <BODY> request body; defaults method to POST if method not set\n -H, --header <NAME: VALUE> add a header (repeatable)\n --network <NETWORK> accepted network (repeatable or comma-separated)\n --asset <ADDRESS> required asset address (exact match, case-insensitive)\n --auto-approve-limit <N> auto-approve limit in token units, integer string\n --obul-proxy <BASE> proxy base (defaults to OBUL_PROXY_URL or https://proxy.obul.ai/proxy)\n -v, --verbose print final response status/headers\n -vv print final request + response\n -vvv also print x402 probe request/response when in direct mode\n --version show version\n -h, --help show usage\n";
16
15
  export declare function parseNetworks(values: string[]): string[];
17
16
  export declare function parseArgs(argv: string[]): ParsedArgs;
18
17
  export declare function parseArgsWithDefaults(args: ParsedArgs): Required<Pick<ParsedArgs, "method" | "headers" | "networks" | "verbose">> & ParsedArgs;
@@ -1 +1 @@
1
- {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,eAAO,MAAM,QAAQ,+6BAepB,CAAA;AAkBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAOxD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAuGpD;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,GACf,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CASxF"}
1
+ {"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAAG;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,QAAQ,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,QAAQ,u5BAepB,CAAA;AAkBD,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAOxD;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CAgGpD;AAED,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,UAAU,GACf,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,GAAG,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC,CAAC,GAAG,UAAU,CASxF"}
package/dist/args.js CHANGED
@@ -7,11 +7,11 @@ Options:
7
7
  --network <NETWORK> accepted network (repeatable or comma-separated)
8
8
  --asset <ADDRESS> required asset address (exact match, case-insensitive)
9
9
  --auto-approve-limit <N> auto-approve limit in token units, integer string
10
- --obul-proxy <BASE> proxy base, e.g. https://proxy.devnet.obul.ai/proxy
11
- --obul-access-token <TOK> JWT access token for proxy mode (overrides env)
12
- --obul-api-key <KEY> API key for proxy mode (overrides env)
10
+ --obul-proxy <BASE> proxy base (defaults to OBUL_PROXY_URL or https://proxy.obul.ai/proxy)
13
11
  -v, --verbose print final response status/headers
14
- -vv also print x402 probe request/response when in direct mode
12
+ -vv print final request + response
13
+ -vvv also print x402 probe request/response when in direct mode
14
+ --version show version
15
15
  -h, --help show usage
16
16
  `;
17
17
  function parseHeader(raw) {
@@ -42,7 +42,8 @@ export function parseArgs(argv) {
42
42
  headers: {},
43
43
  networks: [],
44
44
  verbose: 0,
45
- help: false
45
+ help: false,
46
+ version: false
46
47
  };
47
48
  const args = [...argv];
48
49
  while (args.length > 0) {
@@ -53,12 +54,17 @@ export function parseArgs(argv) {
53
54
  result.help = true;
54
55
  continue;
55
56
  }
56
- if (arg === "-v" || arg === "--verbose") {
57
- result.verbose = Math.min(2, result.verbose + 1);
57
+ if (arg === "--version" || arg === "-V") {
58
+ result.version = true;
58
59
  continue;
59
60
  }
60
- if (arg === "-vv") {
61
- result.verbose = 2;
61
+ if (/^-v+$/.test(arg)) {
62
+ const level = Math.min(3, arg.length - 1);
63
+ result.verbose = Math.max(result.verbose, level);
64
+ continue;
65
+ }
66
+ if (arg === "--verbose") {
67
+ result.verbose = Math.min(3, result.verbose + 1);
62
68
  continue;
63
69
  }
64
70
  if (arg === "-X" || arg === "--method") {
@@ -111,20 +117,6 @@ export function parseArgs(argv) {
111
117
  result.obulProxy = value;
112
118
  continue;
113
119
  }
114
- if (arg === "--obul-access-token") {
115
- const value = args.shift();
116
- if (!value)
117
- throw new Error("Missing value for --obul-access-token");
118
- result.obulAccessToken = value;
119
- continue;
120
- }
121
- if (arg === "--obul-api-key") {
122
- const value = args.shift();
123
- if (!value)
124
- throw new Error("Missing value for --obul-api-key");
125
- result.obulApiKey = value;
126
- continue;
127
- }
128
120
  if (arg.startsWith("-")) {
129
121
  throw new Error(`Unknown flag: ${arg}`);
130
122
  }
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,9 +1,16 @@
1
1
  #!/usr/bin/env node
2
+ import { createRequire } from "node:module";
2
3
  import { obulxFetch } from "./lib.js";
3
4
  import { helpText, parseArgs, parseArgsWithDefaults } from "./args.js";
4
5
  async function main() {
5
6
  try {
6
7
  const parsed = parseArgs(process.argv.slice(2));
8
+ if (parsed.version) {
9
+ const require = createRequire(import.meta.url);
10
+ const pkg = require("../package.json");
11
+ process.stdout.write(`${pkg.version}\n`);
12
+ process.exit(0);
13
+ }
7
14
  if (parsed.help) {
8
15
  process.stderr.write(helpText);
9
16
  process.exit(0);
@@ -15,9 +22,11 @@ async function main() {
15
22
  if (!args.url) {
16
23
  throw new Error("Missing URL");
17
24
  }
18
- const obulProxy = args.obulProxy ?? process.env.OBUL_PROXY_URL;
19
- const obulAccessToken = args.obulAccessToken ?? process.env.OBUL_ACCESS_TOKEN;
20
- const obulApiKey = args.obulApiKey ?? process.env.OBUL_API_KEY;
25
+ const wantsDirect = args.networks.length > 0 && !args.obulProxy;
26
+ const obulProxy = wantsDirect
27
+ ? undefined
28
+ : args.obulProxy ?? process.env.OBUL_PROXY_URL ?? "https://proxy.obul.ai/proxy";
29
+ const obulApiKey = process.env.OBUL_API_KEY;
21
30
  const privateKey = process.env.OBUL_X402_PRIVATE_KEY ?? process.env.PRIVATE_KEY;
22
31
  const response = await obulxFetch({
23
32
  url: args.url,
@@ -28,7 +37,6 @@ async function main() {
28
37
  asset: args.asset,
29
38
  autoApproveLimit: args.autoApproveLimit,
30
39
  obulProxy,
31
- obulAccessToken,
32
40
  obulApiKey,
33
41
  verbose: args.verbose,
34
42
  privateKey
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEtE,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAA;QAC9D,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;QAC7E,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;QAC9D,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;QAE/E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS;YACT,eAAe;YACf,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU;SACX,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAA;AAEtE,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;YACtC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,OAAO,IAAI,CAAC,CAAA;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;YAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;QAED,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;QAC1C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAA;QAChC,CAAC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAA;QAC/D,MAAM,SAAS,GAAG,WAAW;YAC3B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,IAAI,6BAA6B,CAAA;QACjF,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;QAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAA;QAE/E,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC;YAChC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,SAAS;YACT,UAAU;YACV,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,UAAU;SACX,CAAC,CAAA;QAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;QACpC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;AACH,CAAC;AAED,IAAI,EAAE,CAAA"}
package/dist/lib.d.ts CHANGED
@@ -7,7 +7,6 @@ export type ObulxFetchOptions = {
7
7
  asset?: string;
8
8
  autoApproveLimit?: string;
9
9
  obulProxy?: string;
10
- obulAccessToken?: string;
11
10
  obulApiKey?: string;
12
11
  verbose?: number;
13
12
  privateKey?: string;
@@ -22,23 +21,9 @@ export type ObulxResponse = {
22
21
  body: Uint8Array;
23
22
  url: string;
24
23
  };
25
- type PaymentRequirement = {
26
- scheme?: string;
27
- network?: string;
28
- asset?: string;
29
- amount?: string | number;
30
- maxAmountRequired?: string | number;
31
- [key: string]: unknown;
32
- };
33
24
  export declare function buildProxyUrl(base: string, target: URL): string;
34
25
  export declare function applyProxyAuth(headers: Headers, options: {
35
- obulAccessToken?: string;
36
26
  obulApiKey?: string;
37
27
  }): void;
38
- export declare function selectPaymentRequirement(input: unknown, options: {
39
- networks?: string[];
40
- asset?: string;
41
- }): PaymentRequirement;
42
28
  export declare function obulxFetch(options: ObulxFetchOptions): Promise<ObulxResponse>;
43
- export {};
44
29
  //# sourceMappingURL=lib.d.ts.map
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,kBAAkB,GAAG;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACnC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB,CAAA;AAYD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAM/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IAAE,eAAe,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,QAgB1G;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,OAAO,EACd,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/C,kBAAkB,CAwBpB;AAyPD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CA6FnF"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC,cAAc,CAAA;CAC9B,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B,IAAI,EAAE,UAAU,CAAA;IAChB,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAID,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,MAAM,CAM/D;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,QAWhF;AAsDD,wBAAsB,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC,CAoCnF"}
package/dist/lib.js CHANGED
@@ -1,7 +1,4 @@
1
- import { wrapFetchWithPayment } from "x402-fetch";
2
- import { privateKeyToAccount } from "viem/accounts";
3
1
  const REDACTED = "<redacted>";
4
- const DEFAULT_MAX_VALUE = 10n ** 30n;
5
2
  export function buildProxyUrl(base, target) {
6
3
  const trimmed = base.replace(/\/+$/, "");
7
4
  const scheme = target.protocol.replace(":", "");
@@ -10,163 +7,14 @@ export function buildProxyUrl(base, target) {
10
7
  return `${trimmed}/${scheme}/${host}${path}${target.search}`;
11
8
  }
12
9
  export function applyProxyAuth(headers, options) {
13
- if (options.obulAccessToken) {
14
- headers.set("Authorization", `Bearer ${options.obulAccessToken}`);
15
- return;
16
- }
17
- if (headers.get("authorization")) {
10
+ if (headers.get("authorization") || headers.get("x-obul-api-key")) {
18
11
  return;
19
12
  }
20
13
  if (options.obulApiKey) {
21
14
  headers.set("X-Obul-Api-Key", options.obulApiKey);
22
15
  return;
23
16
  }
24
- throw new Error("Missing proxy auth: set --obul-access-token, --obul-api-key, or OBUL_ACCESS_TOKEN/OBUL_API_KEY.");
25
- }
26
- export function selectPaymentRequirement(input, options) {
27
- const requirements = normalizeRequirements(input);
28
- if (requirements.length === 0) {
29
- throw new Error("No payment requirements available");
30
- }
31
- const asset = options.asset?.toLowerCase();
32
- const filteredByAsset = asset
33
- ? requirements.filter((req) => (req.asset ?? "").toString().toLowerCase() === asset)
34
- : requirements;
35
- if (asset && filteredByAsset.length === 0) {
36
- throw new Error(`No payment requirements matched asset ${options.asset}`);
37
- }
38
- if (options.networks && options.networks.length > 0) {
39
- for (const network of options.networks) {
40
- const match = filteredByAsset.find((req) => matchesNetwork(req, network));
41
- if (match)
42
- return match;
43
- }
44
- throw new Error(`No payment requirements matched networks: ${options.networks.join(", ")}`);
45
- }
46
- return filteredByAsset[0];
47
- }
48
- function matchesNetwork(requirement, network) {
49
- const target = network.toLowerCase();
50
- const requirementNetwork = extractNetwork(requirement);
51
- if (!requirementNetwork)
52
- return false;
53
- return requirementNetwork.toLowerCase() === target;
54
- }
55
- function extractNetwork(requirement) {
56
- const network = requirement.network;
57
- if (typeof network === "string")
58
- return network;
59
- if (typeof network === "number")
60
- return String(network);
61
- if (typeof network === "object" && network !== null) {
62
- const value = network.id;
63
- if (typeof value === "string")
64
- return value;
65
- if (typeof value === "number")
66
- return String(value);
67
- }
68
- return undefined;
69
- }
70
- function normalizeRequirements(input) {
71
- if (!input)
72
- return [];
73
- if (Array.isArray(input)) {
74
- return input.flatMap((item) => normalizeRequirements(item));
75
- }
76
- if (typeof input !== "object")
77
- return [];
78
- const obj = input;
79
- if ("paymentRequirements" in obj) {
80
- return normalizeRequirements(obj.paymentRequirements);
81
- }
82
- if ("accepts" in obj) {
83
- return normalizeRequirements(obj.accepts);
84
- }
85
- if ("paymentRequired" in obj) {
86
- return normalizeRequirements(obj.paymentRequired);
87
- }
88
- if ("payment_required" in obj) {
89
- return normalizeRequirements(obj.payment_required);
90
- }
91
- if ("requirements" in obj) {
92
- return normalizeRequirements(obj.requirements);
93
- }
94
- if (looksLikeRequirement(obj)) {
95
- return [obj];
96
- }
97
- return [];
98
- }
99
- function looksLikeRequirement(obj) {
100
- return "scheme" in obj || "network" in obj || "asset" in obj || "amount" in obj;
101
- }
102
- function parseAmount(requirement) {
103
- const value = requirement.amount ?? requirement.maxAmountRequired;
104
- if (typeof value === "number" && Number.isFinite(value)) {
105
- return { raw: String(value), number: value };
106
- }
107
- if (typeof value === "string") {
108
- const trimmed = value.trim();
109
- if (/^\d+$/.test(trimmed)) {
110
- try {
111
- return { raw: trimmed, bigint: BigInt(trimmed) };
112
- }
113
- catch {
114
- return { raw: trimmed };
115
- }
116
- }
117
- const asNumber = Number(trimmed);
118
- if (Number.isFinite(asNumber)) {
119
- return { raw: trimmed, number: asNumber };
120
- }
121
- return { raw: trimmed };
122
- }
123
- return { raw: "" };
124
- }
125
- function parseLimit(limit) {
126
- if (limit == null)
127
- return undefined;
128
- if (!/^\d+$/.test(limit.trim())) {
129
- throw new Error("--auto-approve-limit must be an integer string");
130
- }
131
- return BigInt(limit.trim());
132
- }
133
- function normalizePrivateKey(key) {
134
- const trimmed = key.trim();
135
- if (trimmed.startsWith("0x"))
136
- return trimmed;
137
- return `0x${trimmed}`;
138
- }
139
- async function confirmPayment(requirement, options) {
140
- const isTTY = Boolean(options.stdin.isTTY);
141
- if (!isTTY) {
142
- throw new Error("Payment requires confirmation but stdin is not interactive");
143
- }
144
- const { stderr, stdin } = options;
145
- const amount = parseAmount(requirement);
146
- const displayAmount = amount.raw || "unknown";
147
- const asset = requirement.asset ?? "unknown";
148
- return new Promise((resolve) => {
149
- stderr.write(`Approve payment of ${displayAmount} ${asset}? [y/N]: `);
150
- let buffer = "";
151
- const onData = (chunk) => {
152
- buffer += chunk.toString();
153
- if (!buffer.includes("\n"))
154
- return;
155
- cleanup();
156
- const answer = buffer.trim().toLowerCase();
157
- resolve(answer === "y" || answer === "yes");
158
- };
159
- const onEnd = () => {
160
- cleanup();
161
- resolve(false);
162
- };
163
- const cleanup = () => {
164
- stdin.off("data", onData);
165
- stdin.off("end", onEnd);
166
- };
167
- stdin.on("data", onData);
168
- stdin.on("end", onEnd);
169
- });
17
+ throw new Error("Missing proxy auth: set OBUL_API_KEY.");
170
18
  }
171
19
  function redactHeaders(headers) {
172
20
  const lines = [];
@@ -207,144 +55,42 @@ async function toResponseLike(response) {
207
55
  url: response.url
208
56
  };
209
57
  }
210
- async function parsePaymentRequired(response) {
211
- const header = response.headers.get("payment-required") ?? response.headers.get("x-payment-required");
212
- if (header) {
213
- const fromHeader = parsePaymentRequiredHeader(header);
214
- if (fromHeader) {
215
- return { raw: fromHeader, requirements: normalizeRequirements(fromHeader) };
216
- }
217
- }
58
+ async function loadDirect() {
218
59
  try {
219
- const body = await response.json();
220
- return { raw: body, requirements: normalizeRequirements(body) };
60
+ const moduleName = "@obul.ai/obulx-x402";
61
+ return await import(/* @vite-ignore */ moduleName);
221
62
  }
222
63
  catch {
223
- return { raw: undefined, requirements: [] };
64
+ throw new Error("Direct x402 mode requires @obul.ai/obulx-x402. Install it and retry.");
224
65
  }
225
66
  }
226
- function parsePaymentRequiredHeader(header) {
227
- const trimmed = header.trim();
228
- if (!trimmed)
229
- return undefined;
230
- try {
231
- return JSON.parse(trimmed);
232
- }
233
- catch {
234
- try {
235
- const decoded = Buffer.from(trimmed, "base64").toString("utf8");
236
- return JSON.parse(decoded);
237
- }
238
- catch {
239
- return undefined;
240
- }
241
- }
242
- }
243
- function createProbeFetch(fetcher, probe) {
244
- let used = false;
245
- return async (input, init) => {
246
- if (!used) {
247
- used = true;
248
- return probe;
249
- }
250
- return fetcher(input, init);
251
- };
252
- }
253
- function pickMatchingRequirement(requirements, selected) {
254
- if (requirements.length === 0) {
255
- throw new Error("No payment requirements available");
256
- }
257
- const selectedAmount = selected.amount ?? selected.maxAmountRequired;
258
- const matches = requirements.filter((req) => {
259
- const sameNetwork = selected.network ? matchesNetwork(req, selected.network) : true;
260
- const sameAsset = selected.asset
261
- ? (req.asset ?? "").toString().toLowerCase() === selected.asset.toString().toLowerCase()
262
- : true;
263
- const reqAmount = req.amount ?? req.maxAmountRequired;
264
- const sameAmount = selectedAmount != null ? String(reqAmount ?? "") === String(selectedAmount) : true;
265
- return sameNetwork && sameAsset && sameAmount;
266
- });
267
- return matches[0] ?? requirements[0];
268
- }
269
67
  export async function obulxFetch(options) {
68
+ if (!options.obulProxy) {
69
+ const direct = await loadDirect();
70
+ return direct.obulxFetchDirect(options);
71
+ }
270
72
  const fetcher = options.fetch ?? globalThis.fetch;
271
73
  if (!fetcher) {
272
74
  throw new Error("fetch is not available in this environment");
273
75
  }
274
76
  const stderr = options.stderr ?? process.stderr;
275
- const stdin = options.stdin ?? process.stdin;
276
77
  const method = options.method ?? (options.body ? "POST" : "GET");
277
78
  const headers = new Headers(options.headers ?? {});
278
79
  const verbose = options.verbose ?? 0;
279
80
  const requestUrl = new URL(options.url);
280
- const init = {
81
+ const proxyUrl = buildProxyUrl(options.obulProxy, requestUrl);
82
+ applyProxyAuth(headers, { obulApiKey: options.obulApiKey });
83
+ if (verbose >= 2) {
84
+ logRequest(method, proxyUrl, headers, stderr, "final request");
85
+ }
86
+ const response = await fetcher(proxyUrl, {
281
87
  method,
282
88
  headers,
283
89
  body: options.body
284
- };
285
- if (options.obulProxy) {
286
- const proxyUrl = buildProxyUrl(options.obulProxy, requestUrl);
287
- applyProxyAuth(headers, { obulAccessToken: options.obulAccessToken, obulApiKey: options.obulApiKey });
288
- const response = await fetcher(proxyUrl, init);
289
- if (verbose >= 1) {
290
- logResponse(response, stderr);
291
- }
292
- return toResponseLike(response);
293
- }
294
- if (!options.networks || options.networks.length === 0) {
295
- throw new Error("--network is required for direct x402 mode");
296
- }
297
- const limit = parseLimit(options.autoApproveLimit);
298
- if (!limit) {
299
- throw new Error("--auto-approve-limit is required for direct x402 mode");
300
- }
301
- const privateKey = options.privateKey;
302
- if (!privateKey) {
303
- throw new Error("Missing private key: set OBUL_X402_PRIVATE_KEY or PRIVATE_KEY");
304
- }
305
- const probe = await fetcher(requestUrl.toString(), init);
306
- if (verbose >= 2) {
307
- logRequest(method, requestUrl.toString(), headers, stderr, "probe request");
308
- logResponse(probe, stderr, "probe response");
309
- }
310
- if (probe.status !== 402) {
311
- if (verbose >= 1) {
312
- logResponse(probe, stderr);
313
- }
314
- return toResponseLike(probe);
315
- }
316
- const parsed = await parsePaymentRequired(probe.clone());
317
- if (parsed.requirements.length === 0) {
318
- throw new Error("Received 402 but could not parse payment requirements");
319
- }
320
- const selected = selectPaymentRequirement(parsed.raw ?? parsed.requirements, {
321
- networks: options.networks,
322
- asset: options.asset
323
90
  });
324
- const amount = parseAmount(selected);
325
- if (amount.bigint != null) {
326
- if (amount.bigint > limit) {
327
- const approved = await confirmPayment(selected, { stderr, stdin });
328
- if (!approved)
329
- throw new Error("Payment declined");
330
- }
331
- }
332
- else if (amount.number != null) {
333
- const limitNumber = Number(limit);
334
- if (Number.isFinite(limitNumber) && amount.number > limitNumber) {
335
- const approved = await confirmPayment(selected, { stderr, stdin });
336
- if (!approved)
337
- throw new Error("Payment declined");
338
- }
339
- }
340
- const account = privateKeyToAccount(normalizePrivateKey(privateKey));
341
- const fetchWithProbe = createProbeFetch(fetcher, probe);
342
- const selector = (requirements) => pickMatchingRequirement(requirements, selected);
343
- const fetchWithPayment = wrapFetchWithPayment(fetchWithProbe, account, DEFAULT_MAX_VALUE, selector);
344
- const paidResponse = await fetchWithPayment(requestUrl.toString(), init);
345
91
  if (verbose >= 1) {
346
- logResponse(paidResponse, stderr);
92
+ logResponse(response, stderr, verbose >= 2 ? "final response" : undefined);
347
93
  }
348
- return toResponseLike(paidResponse);
94
+ return toResponseLike(response);
349
95
  }
350
96
  //# sourceMappingURL=lib.js.map
package/dist/lib.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lib.js","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@obul.ai/obulx",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Obul x402 CLI and library.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -17,10 +17,7 @@
17
17
  "build": "tsc -p tsconfig.json",
18
18
  "typecheck": "tsc -p tsconfig.json --noEmit"
19
19
  },
20
- "dependencies": {
21
- "x402-fetch": "^0.6.0",
22
- "viem": "^2.21.26"
23
- },
20
+ "dependencies": {},
24
21
  "devDependencies": {
25
22
  "@types/node": "^20.11.30"
26
23
  }