bridgenode-cli 0.1.0__tar.gz → 0.1.1__tar.gz
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.
- bridgenode_cli-0.1.1/PKG-INFO +79 -0
- bridgenode_cli-0.1.1/README.md +55 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli/main.py +26 -26
- bridgenode_cli-0.1.1/bridgenode_cli.egg-info/PKG-INFO +79 -0
- bridgenode_cli-0.1.1/pyproject.toml +44 -0
- bridgenode_cli-0.1.0/PKG-INFO +0 -65
- bridgenode_cli-0.1.0/README.md +0 -55
- bridgenode_cli-0.1.0/bridgenode_cli.egg-info/PKG-INFO +0 -65
- bridgenode_cli-0.1.0/pyproject.toml +0 -24
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli/__init__.py +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli.egg-info/SOURCES.txt +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli.egg-info/dependency_links.txt +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli.egg-info/entry_points.txt +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli.egg-info/requires.txt +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/bridgenode_cli.egg-info/top_level.txt +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/setup.cfg +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/tests/test_cli.py +0 -0
- {bridgenode_cli-0.1.0 → bridgenode_cli-0.1.1}/tests/test_cli_integration.py +0 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: bridgenode-cli
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: BridgeNode CLI — AI inference with x402 payment on Solana USDC. No API keys.
|
|
5
|
+
Author-email: BridgeNode <eli.BNx@proton.me>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://bridgenode.cc
|
|
8
|
+
Project-URL: Repository, https://github.com/applefanaimail-blip/bridgenode-llm
|
|
9
|
+
Project-URL: Documentation, https://bridgenode.cc/llms.txt
|
|
10
|
+
Keywords: x402,solana,usdc,ai,llm,cli,agents,payment,bridgenode
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
|
+
Requires-Python: >=3.11
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
Requires-Dist: bridgenode-llm>=0.1.0
|
|
22
|
+
Provides-Extra: dev
|
|
23
|
+
Requires-Dist: pytest>=9.1.1; extra == "dev"
|
|
24
|
+
|
|
25
|
+
# bridgenode-cli
|
|
26
|
+
|
|
27
|
+
BridgeNode CLI — AI inference without API keys. Payment: **Solana USDC via x402** (automatic handshake, fee sponsorship — no SOL needed).
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pip install bridgenode-cli
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Single chat completion (x402 handshake hidden, §4.1)
|
|
39
|
+
bridgenode chat "Hello!" --model deepseek-v4-flash
|
|
40
|
+
|
|
41
|
+
# Smart routing (§5.1/§5.8): auto / eco / premium
|
|
42
|
+
bridgenode chat "Analyze this code" --mode auto
|
|
43
|
+
|
|
44
|
+
# Model list + prices (§5.2) — no payment
|
|
45
|
+
bridgenode models
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Options
|
|
49
|
+
|
|
50
|
+
| Option | Description |
|
|
51
|
+
|---|---|
|
|
52
|
+
| `--model` | Explicit model id (see `bridgenode models`) |
|
|
53
|
+
| `--mode` | `auto` / `eco` / `premium` (smart routing) |
|
|
54
|
+
| `--max-tokens` | Max output tokens (billing upfront, §4.2) |
|
|
55
|
+
| `--base-url` | Base URL (default: `BRIDGENODE_BASE_URL` / https://bridgenode.cc/v1) |
|
|
56
|
+
| `--max-per-call` / `--daily-cap` | Spending policy (fail-closed) |
|
|
57
|
+
|
|
58
|
+
## .env
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Required — your Solana wallet private key (base58)
|
|
62
|
+
BRIDGENODE_WALLET_KEY=...
|
|
63
|
+
# Optional: BRIDGENODE_BASE_URL, BRIDGENODE_MAX_PER_CALL, BRIDGENODE_DAILY_CAP
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Security
|
|
67
|
+
|
|
68
|
+
- **Receipt verification (Free-Riding protection):** after 200, `PAYMENT-RESPONSE` is verified — invalid receipt → error.
|
|
69
|
+
- **Spending policy (fail-closed):** max USD per call / per day — checked BEFORE signing.
|
|
70
|
+
|
|
71
|
+
## Requirements
|
|
72
|
+
|
|
73
|
+
- Python ≥ 3.11
|
|
74
|
+
- Solana wallet with USDC ATA (rent — agent's responsibility, §3.3)
|
|
75
|
+
|
|
76
|
+
## Links
|
|
77
|
+
|
|
78
|
+
- Website: https://bridgenode.cc
|
|
79
|
+
- Protocol: x402 V2 (docs.x402.org)
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# bridgenode-cli
|
|
2
|
+
|
|
3
|
+
BridgeNode CLI — AI inference without API keys. Payment: **Solana USDC via x402** (automatic handshake, fee sponsorship — no SOL needed).
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install bridgenode-cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Usage
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Single chat completion (x402 handshake hidden, §4.1)
|
|
15
|
+
bridgenode chat "Hello!" --model deepseek-v4-flash
|
|
16
|
+
|
|
17
|
+
# Smart routing (§5.1/§5.8): auto / eco / premium
|
|
18
|
+
bridgenode chat "Analyze this code" --mode auto
|
|
19
|
+
|
|
20
|
+
# Model list + prices (§5.2) — no payment
|
|
21
|
+
bridgenode models
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Options
|
|
25
|
+
|
|
26
|
+
| Option | Description |
|
|
27
|
+
|---|---|
|
|
28
|
+
| `--model` | Explicit model id (see `bridgenode models`) |
|
|
29
|
+
| `--mode` | `auto` / `eco` / `premium` (smart routing) |
|
|
30
|
+
| `--max-tokens` | Max output tokens (billing upfront, §4.2) |
|
|
31
|
+
| `--base-url` | Base URL (default: `BRIDGENODE_BASE_URL` / https://bridgenode.cc/v1) |
|
|
32
|
+
| `--max-per-call` / `--daily-cap` | Spending policy (fail-closed) |
|
|
33
|
+
|
|
34
|
+
## .env
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Required — your Solana wallet private key (base58)
|
|
38
|
+
BRIDGENODE_WALLET_KEY=...
|
|
39
|
+
# Optional: BRIDGENODE_BASE_URL, BRIDGENODE_MAX_PER_CALL, BRIDGENODE_DAILY_CAP
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Security
|
|
43
|
+
|
|
44
|
+
- **Receipt verification (Free-Riding protection):** after 200, `PAYMENT-RESPONSE` is verified — invalid receipt → error.
|
|
45
|
+
- **Spending policy (fail-closed):** max USD per call / per day — checked BEFORE signing.
|
|
46
|
+
|
|
47
|
+
## Requirements
|
|
48
|
+
|
|
49
|
+
- Python ≥ 3.11
|
|
50
|
+
- Solana wallet with USDC ATA (rent — agent's responsibility, §3.3)
|
|
51
|
+
|
|
52
|
+
## Links
|
|
53
|
+
|
|
54
|
+
- Website: https://bridgenode.cc
|
|
55
|
+
- Protocol: x402 V2 (docs.x402.org)
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"""main.py — bridgenode CLI (§8.4, fix.md 4.4
|
|
1
|
+
"""main.py — bridgenode CLI (§8.4, fix.md 4.4 step 1).
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
- `bridgenode chat "<prompt>"` —
|
|
5
|
-
(SDK: 402 →
|
|
6
|
-
- `bridgenode models` —
|
|
3
|
+
Commands:
|
|
4
|
+
- `bridgenode chat "<prompt>"` — single chat completion via the x402 handshake
|
|
5
|
+
(SDK: 402 → partial TX → PAYMENT-SIGNATURE → 200; §4.1)
|
|
6
|
+
- `bridgenode models` — model list + prices from GET /v1/models (§5.2)
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
§5.1/§5.8), --max-tokens.
|
|
10
|
-
LLMClient (P4).
|
|
8
|
+
Options: --model (explicit, §5.1), --mode auto/eco/premium (smart routing,
|
|
9
|
+
§5.1/§5.8), --max-tokens. All payment is hidden — uses the official
|
|
10
|
+
LLMClient (P4). Errors → stderr + exit 1; success → stdout + exit 0.
|
|
11
11
|
"""
|
|
12
12
|
|
|
13
13
|
from __future__ import annotations
|
|
@@ -21,9 +21,9 @@ from bridgenode_llm import BridgenodeError, LLMClient
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
def _client(args: argparse.Namespace) -> LLMClient:
|
|
24
|
-
"""LLMClient
|
|
25
|
-
# None
|
|
26
|
-
#
|
|
24
|
+
"""LLMClient from CLI arguments (key ONLY from .env, §8.4)."""
|
|
25
|
+
# None values are not passed — the SDK uses defaults (§8.5);
|
|
26
|
+
# otherwise timeout=None would enter the flow timeout calculation (item 42)
|
|
27
27
|
kwargs: dict[str, Any] = {}
|
|
28
28
|
if args.base_url:
|
|
29
29
|
kwargs["base_url"] = args.base_url
|
|
@@ -58,10 +58,10 @@ def cmd_chat(args: argparse.Namespace) -> int:
|
|
|
58
58
|
|
|
59
59
|
|
|
60
60
|
def cmd_models(args: argparse.Namespace) -> int:
|
|
61
|
-
"""`bridgenode models` —
|
|
61
|
+
"""`bridgenode models` — model list + prices (§5.2).
|
|
62
62
|
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
Public endpoint (no payment) — direct HTTP, without the SDK (the SDK has
|
|
64
|
+
only chat(), protocol §8.4)."""
|
|
65
65
|
import httpx
|
|
66
66
|
|
|
67
67
|
base_url = (args.base_url or os.environ.get("BRIDGENODE_BASE_URL")
|
|
@@ -89,33 +89,33 @@ def build_parser() -> argparse.ArgumentParser:
|
|
|
89
89
|
parser = argparse.ArgumentParser(
|
|
90
90
|
prog="bridgenode",
|
|
91
91
|
description=(
|
|
92
|
-
"BridgeNode CLI — AI inference,
|
|
93
|
-
"
|
|
92
|
+
"BridgeNode CLI — AI inference, payment via Solana USDC x402. "
|
|
93
|
+
"No API keys."
|
|
94
94
|
),
|
|
95
95
|
)
|
|
96
96
|
parser.add_argument("--base-url", default=None,
|
|
97
97
|
help="Base URL (default: BRIDGENODE_BASE_URL / https://bridgenode.cc/v1)")
|
|
98
98
|
parser.add_argument("--initial-timeout", type=float, default=None,
|
|
99
|
-
help="
|
|
99
|
+
help="Initial request timeout s (queue until 402, §5.7)")
|
|
100
100
|
parser.add_argument("--retry-timeout", type=float, default=None,
|
|
101
|
-
help="Retry timeout s (≤115s
|
|
101
|
+
help="Retry timeout s (≤115s budget, §4.3)")
|
|
102
102
|
parser.add_argument("--max-per-call", type=float, default=None,
|
|
103
|
-
help="Spending policy: max USD per call (
|
|
103
|
+
help="Spending policy: max USD per call (step 2)")
|
|
104
104
|
parser.add_argument("--daily-cap", type=float, default=None,
|
|
105
|
-
help="Spending policy: max USD per day (
|
|
105
|
+
help="Spending policy: max USD per day (step 2)")
|
|
106
106
|
sub = parser.add_subparsers(dest="command", required=True)
|
|
107
107
|
|
|
108
|
-
p_chat = sub.add_parser("chat", help="
|
|
109
|
-
p_chat.add_argument("prompt", help="Prompt
|
|
108
|
+
p_chat = sub.add_parser("chat", help="Single chat completion via x402 (§4.1)")
|
|
109
|
+
p_chat.add_argument("prompt", help="Prompt text")
|
|
110
110
|
p_chat.add_argument("--model", default=None,
|
|
111
|
-
help="Explicit model id (
|
|
111
|
+
help="Explicit model id (see `bridgenode models`)")
|
|
112
112
|
p_chat.add_argument("--mode", choices=["auto", "eco", "premium"], default=None,
|
|
113
|
-
help="Smart routing
|
|
113
|
+
help="Smart routing profile (§5.1/§5.8)")
|
|
114
114
|
p_chat.add_argument("--max-tokens", type=int, default=None,
|
|
115
|
-
help="Max output
|
|
115
|
+
help="Max output tokens (billing upfront, §4.2)")
|
|
116
116
|
p_chat.set_defaults(func=cmd_chat)
|
|
117
117
|
|
|
118
|
-
p_models = sub.add_parser("models", help="
|
|
118
|
+
p_models = sub.add_parser("models", help="Model list + prices (§5.2)")
|
|
119
119
|
p_models.set_defaults(func=cmd_models)
|
|
120
120
|
|
|
121
121
|
return parser
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: bridgenode-cli
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: BridgeNode CLI — AI inference with x402 payment on Solana USDC. No API keys.
|
|
5
|
+
Author-email: BridgeNode <eli.BNx@proton.me>
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://bridgenode.cc
|
|
8
|
+
Project-URL: Repository, https://github.com/applefanaimail-blip/bridgenode-llm
|
|
9
|
+
Project-URL: Documentation, https://bridgenode.cc/llms.txt
|
|
10
|
+
Keywords: x402,solana,usdc,ai,llm,cli,agents,payment,bridgenode
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Operating System :: OS Independent
|
|
14
|
+
Classifier: Programming Language :: Python :: 3
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
18
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
19
|
+
Requires-Python: >=3.11
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
Requires-Dist: bridgenode-llm>=0.1.0
|
|
22
|
+
Provides-Extra: dev
|
|
23
|
+
Requires-Dist: pytest>=9.1.1; extra == "dev"
|
|
24
|
+
|
|
25
|
+
# bridgenode-cli
|
|
26
|
+
|
|
27
|
+
BridgeNode CLI — AI inference without API keys. Payment: **Solana USDC via x402** (automatic handshake, fee sponsorship — no SOL needed).
|
|
28
|
+
|
|
29
|
+
## Installation
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
pip install bridgenode-cli
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Usage
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Single chat completion (x402 handshake hidden, §4.1)
|
|
39
|
+
bridgenode chat "Hello!" --model deepseek-v4-flash
|
|
40
|
+
|
|
41
|
+
# Smart routing (§5.1/§5.8): auto / eco / premium
|
|
42
|
+
bridgenode chat "Analyze this code" --mode auto
|
|
43
|
+
|
|
44
|
+
# Model list + prices (§5.2) — no payment
|
|
45
|
+
bridgenode models
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Options
|
|
49
|
+
|
|
50
|
+
| Option | Description |
|
|
51
|
+
|---|---|
|
|
52
|
+
| `--model` | Explicit model id (see `bridgenode models`) |
|
|
53
|
+
| `--mode` | `auto` / `eco` / `premium` (smart routing) |
|
|
54
|
+
| `--max-tokens` | Max output tokens (billing upfront, §4.2) |
|
|
55
|
+
| `--base-url` | Base URL (default: `BRIDGENODE_BASE_URL` / https://bridgenode.cc/v1) |
|
|
56
|
+
| `--max-per-call` / `--daily-cap` | Spending policy (fail-closed) |
|
|
57
|
+
|
|
58
|
+
## .env
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Required — your Solana wallet private key (base58)
|
|
62
|
+
BRIDGENODE_WALLET_KEY=...
|
|
63
|
+
# Optional: BRIDGENODE_BASE_URL, BRIDGENODE_MAX_PER_CALL, BRIDGENODE_DAILY_CAP
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Security
|
|
67
|
+
|
|
68
|
+
- **Receipt verification (Free-Riding protection):** after 200, `PAYMENT-RESPONSE` is verified — invalid receipt → error.
|
|
69
|
+
- **Spending policy (fail-closed):** max USD per call / per day — checked BEFORE signing.
|
|
70
|
+
|
|
71
|
+
## Requirements
|
|
72
|
+
|
|
73
|
+
- Python ≥ 3.11
|
|
74
|
+
- Solana wallet with USDC ATA (rent — agent's responsibility, §3.3)
|
|
75
|
+
|
|
76
|
+
## Links
|
|
77
|
+
|
|
78
|
+
- Website: https://bridgenode.cc
|
|
79
|
+
- Protocol: x402 V2 (docs.x402.org)
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "bridgenode-cli"
|
|
3
|
+
version = "0.1.1"
|
|
4
|
+
description = "BridgeNode CLI — AI inference with x402 payment on Solana USDC. No API keys."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.11"
|
|
7
|
+
license = "MIT"
|
|
8
|
+
authors = [
|
|
9
|
+
{ name = "BridgeNode", email = "eli.BNx@proton.me" },
|
|
10
|
+
]
|
|
11
|
+
keywords = ["x402", "solana", "usdc", "ai", "llm", "cli", "agents", "payment", "bridgenode"]
|
|
12
|
+
classifiers = [
|
|
13
|
+
"Development Status :: 4 - Beta",
|
|
14
|
+
"Intended Audience :: Developers",
|
|
15
|
+
"Operating System :: OS Independent",
|
|
16
|
+
"Programming Language :: Python :: 3",
|
|
17
|
+
"Programming Language :: Python :: 3.11",
|
|
18
|
+
"Programming Language :: Python :: 3.12",
|
|
19
|
+
"Programming Language :: Python :: 3.13",
|
|
20
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
21
|
+
]
|
|
22
|
+
dependencies = [
|
|
23
|
+
"bridgenode-llm>=0.1.0",
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
[project.optional-dependencies]
|
|
27
|
+
dev = [
|
|
28
|
+
"pytest>=9.1.1",
|
|
29
|
+
]
|
|
30
|
+
|
|
31
|
+
[project.urls]
|
|
32
|
+
Homepage = "https://bridgenode.cc"
|
|
33
|
+
Repository = "https://github.com/applefanaimail-blip/bridgenode-llm"
|
|
34
|
+
Documentation = "https://bridgenode.cc/llms.txt"
|
|
35
|
+
|
|
36
|
+
[project.scripts]
|
|
37
|
+
bridgenode = "bridgenode_cli.main:main"
|
|
38
|
+
|
|
39
|
+
[build-system]
|
|
40
|
+
requires = ["setuptools>=75"]
|
|
41
|
+
build-backend = "setuptools.build_meta"
|
|
42
|
+
|
|
43
|
+
[tool.setuptools.packages.find]
|
|
44
|
+
include = ["bridgenode_cli*"]
|
bridgenode_cli-0.1.0/PKG-INFO
DELETED
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: bridgenode-cli
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: BridgeNode CLI — AI inference su x402 mokėjimu (Solana USDC). Jokių API key.
|
|
5
|
-
Requires-Python: >=3.11
|
|
6
|
-
Description-Content-Type: text/markdown
|
|
7
|
-
Requires-Dist: bridgenode-llm>=0.1.0
|
|
8
|
-
Provides-Extra: dev
|
|
9
|
-
Requires-Dist: pytest>=9.1.1; extra == "dev"
|
|
10
|
-
|
|
11
|
-
# bridgenode-cli
|
|
12
|
-
|
|
13
|
-
BridgeNode CLI — AI inference be API key. Mokėjimas: **Solana USDC per x402** (automatinis handshake, fee sponsorship — SOL nereikia).
|
|
14
|
-
|
|
15
|
-
## Diegimas
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
pip install bridgenode-cli
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Naudojimas
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Vienas chat completion (x402 handshake paslėptas, §4.1)
|
|
25
|
-
bridgenode chat "Labas!" --model deepseek-v4-flash
|
|
26
|
-
|
|
27
|
-
# Smart routing (§5.1/§5.8): auto / eco / premium
|
|
28
|
-
bridgenode chat "Išanalizuok šį kodą" --mode auto
|
|
29
|
-
|
|
30
|
-
# Modelių sąrašas + kainos (§5.2) — be mokėjimo
|
|
31
|
-
bridgenode models
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Parinktys
|
|
35
|
-
|
|
36
|
-
| Parinktis | Aprašas |
|
|
37
|
-
|---|---|
|
|
38
|
-
| `--model` | Explicit model id (žr. `bridgenode models`) |
|
|
39
|
-
| `--mode` | `auto` / `eco` / `premium` (smart routing) |
|
|
40
|
-
| `--max-tokens` | Max output tokenų (billing upfront, §4.2) |
|
|
41
|
-
| `--base-url` | Base URL (default: `BRIDGENODE_BASE_URL` / https://bridgenode.cc/v1) |
|
|
42
|
-
| `--max-per-call` / `--daily-cap` | Spending policy (fail-closed) |
|
|
43
|
-
|
|
44
|
-
## .env
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# Privalomas — jūsų Solana wallet private key (base58)
|
|
48
|
-
BRIDGENODE_WALLET_KEY=...
|
|
49
|
-
# Neprivalomi: BRIDGENODE_BASE_URL, BRIDGENODE_MAX_PER_CALL, BRIDGENODE_DAILY_CAP
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Apsaugos
|
|
53
|
-
|
|
54
|
-
- **Kvito verifikacija (Free-Riding apsauga):** po 200 tikrinamas `PAYMENT-RESPONSE` — netikras kvitas → klaida.
|
|
55
|
-
- **Spending policy (fail-closed):** max USD per call / per day — tikrinama PRIEŠ pasirašant.
|
|
56
|
-
|
|
57
|
-
## Reikalavimai
|
|
58
|
-
|
|
59
|
-
- Python ≥ 3.11
|
|
60
|
-
- Solana wallet su USDC ATA (rent — agento atsakomybė, §3.3)
|
|
61
|
-
|
|
62
|
-
## Nuorodos
|
|
63
|
-
|
|
64
|
-
- Tinklalapis: https://bridgenode.cc
|
|
65
|
-
- Protokolas: x402 V2 (docs.x402.org)
|
bridgenode_cli-0.1.0/README.md
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# bridgenode-cli
|
|
2
|
-
|
|
3
|
-
BridgeNode CLI — AI inference be API key. Mokėjimas: **Solana USDC per x402** (automatinis handshake, fee sponsorship — SOL nereikia).
|
|
4
|
-
|
|
5
|
-
## Diegimas
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
pip install bridgenode-cli
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## Naudojimas
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
# Vienas chat completion (x402 handshake paslėptas, §4.1)
|
|
15
|
-
bridgenode chat "Labas!" --model deepseek-v4-flash
|
|
16
|
-
|
|
17
|
-
# Smart routing (§5.1/§5.8): auto / eco / premium
|
|
18
|
-
bridgenode chat "Išanalizuok šį kodą" --mode auto
|
|
19
|
-
|
|
20
|
-
# Modelių sąrašas + kainos (§5.2) — be mokėjimo
|
|
21
|
-
bridgenode models
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
## Parinktys
|
|
25
|
-
|
|
26
|
-
| Parinktis | Aprašas |
|
|
27
|
-
|---|---|
|
|
28
|
-
| `--model` | Explicit model id (žr. `bridgenode models`) |
|
|
29
|
-
| `--mode` | `auto` / `eco` / `premium` (smart routing) |
|
|
30
|
-
| `--max-tokens` | Max output tokenų (billing upfront, §4.2) |
|
|
31
|
-
| `--base-url` | Base URL (default: `BRIDGENODE_BASE_URL` / https://bridgenode.cc/v1) |
|
|
32
|
-
| `--max-per-call` / `--daily-cap` | Spending policy (fail-closed) |
|
|
33
|
-
|
|
34
|
-
## .env
|
|
35
|
-
|
|
36
|
-
```bash
|
|
37
|
-
# Privalomas — jūsų Solana wallet private key (base58)
|
|
38
|
-
BRIDGENODE_WALLET_KEY=...
|
|
39
|
-
# Neprivalomi: BRIDGENODE_BASE_URL, BRIDGENODE_MAX_PER_CALL, BRIDGENODE_DAILY_CAP
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## Apsaugos
|
|
43
|
-
|
|
44
|
-
- **Kvito verifikacija (Free-Riding apsauga):** po 200 tikrinamas `PAYMENT-RESPONSE` — netikras kvitas → klaida.
|
|
45
|
-
- **Spending policy (fail-closed):** max USD per call / per day — tikrinama PRIEŠ pasirašant.
|
|
46
|
-
|
|
47
|
-
## Reikalavimai
|
|
48
|
-
|
|
49
|
-
- Python ≥ 3.11
|
|
50
|
-
- Solana wallet su USDC ATA (rent — agento atsakomybė, §3.3)
|
|
51
|
-
|
|
52
|
-
## Nuorodos
|
|
53
|
-
|
|
54
|
-
- Tinklalapis: https://bridgenode.cc
|
|
55
|
-
- Protokolas: x402 V2 (docs.x402.org)
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: bridgenode-cli
|
|
3
|
-
Version: 0.1.0
|
|
4
|
-
Summary: BridgeNode CLI — AI inference su x402 mokėjimu (Solana USDC). Jokių API key.
|
|
5
|
-
Requires-Python: >=3.11
|
|
6
|
-
Description-Content-Type: text/markdown
|
|
7
|
-
Requires-Dist: bridgenode-llm>=0.1.0
|
|
8
|
-
Provides-Extra: dev
|
|
9
|
-
Requires-Dist: pytest>=9.1.1; extra == "dev"
|
|
10
|
-
|
|
11
|
-
# bridgenode-cli
|
|
12
|
-
|
|
13
|
-
BridgeNode CLI — AI inference be API key. Mokėjimas: **Solana USDC per x402** (automatinis handshake, fee sponsorship — SOL nereikia).
|
|
14
|
-
|
|
15
|
-
## Diegimas
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
pip install bridgenode-cli
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## Naudojimas
|
|
22
|
-
|
|
23
|
-
```bash
|
|
24
|
-
# Vienas chat completion (x402 handshake paslėptas, §4.1)
|
|
25
|
-
bridgenode chat "Labas!" --model deepseek-v4-flash
|
|
26
|
-
|
|
27
|
-
# Smart routing (§5.1/§5.8): auto / eco / premium
|
|
28
|
-
bridgenode chat "Išanalizuok šį kodą" --mode auto
|
|
29
|
-
|
|
30
|
-
# Modelių sąrašas + kainos (§5.2) — be mokėjimo
|
|
31
|
-
bridgenode models
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
## Parinktys
|
|
35
|
-
|
|
36
|
-
| Parinktis | Aprašas |
|
|
37
|
-
|---|---|
|
|
38
|
-
| `--model` | Explicit model id (žr. `bridgenode models`) |
|
|
39
|
-
| `--mode` | `auto` / `eco` / `premium` (smart routing) |
|
|
40
|
-
| `--max-tokens` | Max output tokenų (billing upfront, §4.2) |
|
|
41
|
-
| `--base-url` | Base URL (default: `BRIDGENODE_BASE_URL` / https://bridgenode.cc/v1) |
|
|
42
|
-
| `--max-per-call` / `--daily-cap` | Spending policy (fail-closed) |
|
|
43
|
-
|
|
44
|
-
## .env
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# Privalomas — jūsų Solana wallet private key (base58)
|
|
48
|
-
BRIDGENODE_WALLET_KEY=...
|
|
49
|
-
# Neprivalomi: BRIDGENODE_BASE_URL, BRIDGENODE_MAX_PER_CALL, BRIDGENODE_DAILY_CAP
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## Apsaugos
|
|
53
|
-
|
|
54
|
-
- **Kvito verifikacija (Free-Riding apsauga):** po 200 tikrinamas `PAYMENT-RESPONSE` — netikras kvitas → klaida.
|
|
55
|
-
- **Spending policy (fail-closed):** max USD per call / per day — tikrinama PRIEŠ pasirašant.
|
|
56
|
-
|
|
57
|
-
## Reikalavimai
|
|
58
|
-
|
|
59
|
-
- Python ≥ 3.11
|
|
60
|
-
- Solana wallet su USDC ATA (rent — agento atsakomybė, §3.3)
|
|
61
|
-
|
|
62
|
-
## Nuorodos
|
|
63
|
-
|
|
64
|
-
- Tinklalapis: https://bridgenode.cc
|
|
65
|
-
- Protokolas: x402 V2 (docs.x402.org)
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
[project]
|
|
2
|
-
name = "bridgenode-cli"
|
|
3
|
-
version = "0.1.0"
|
|
4
|
-
description = "BridgeNode CLI — AI inference su x402 mokėjimu (Solana USDC). Jokių API key."
|
|
5
|
-
readme = "README.md"
|
|
6
|
-
requires-python = ">=3.11"
|
|
7
|
-
dependencies = [
|
|
8
|
-
"bridgenode-llm>=0.1.0",
|
|
9
|
-
]
|
|
10
|
-
|
|
11
|
-
[project.optional-dependencies]
|
|
12
|
-
dev = [
|
|
13
|
-
"pytest>=9.1.1",
|
|
14
|
-
]
|
|
15
|
-
|
|
16
|
-
[project.scripts]
|
|
17
|
-
bridgenode = "bridgenode_cli.main:main"
|
|
18
|
-
|
|
19
|
-
[build-system]
|
|
20
|
-
requires = ["setuptools>=75"]
|
|
21
|
-
build-backend = "setuptools.build_meta"
|
|
22
|
-
|
|
23
|
-
[tool.setuptools.packages.find]
|
|
24
|
-
include = ["bridgenode_cli*"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|