dominusnode-superagi 1.0.0__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.
- dominusnode_superagi-1.0.0/LICENSE +21 -0
- dominusnode_superagi-1.0.0/PKG-INFO +109 -0
- dominusnode_superagi-1.0.0/README.md +96 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi/__init__.py +5 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi/toolkit.py +133 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi/tools.py +1947 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi.egg-info/PKG-INFO +109 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi.egg-info/SOURCES.txt +12 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi.egg-info/dependency_links.txt +1 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi.egg-info/requires.txt +5 -0
- dominusnode_superagi-1.0.0/dominusnode_superagi.egg-info/top_level.txt +1 -0
- dominusnode_superagi-1.0.0/pyproject.toml +18 -0
- dominusnode_superagi-1.0.0/setup.cfg +4 -0
- dominusnode_superagi-1.0.0/tests/test_tools.py +1120 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Dominus Node
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: dominusnode-superagi
|
|
3
|
+
Version: 1.0.0
|
|
4
|
+
Summary: DomiNode toolkit for SuperAGI -- 22 proxy, wallet, and team management tools
|
|
5
|
+
License: MIT
|
|
6
|
+
Requires-Python: >=3.10
|
|
7
|
+
Description-Content-Type: text/markdown
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Requires-Dist: httpx>=0.25.0
|
|
10
|
+
Requires-Dist: pydantic>=1.10.0
|
|
11
|
+
Provides-Extra: dev
|
|
12
|
+
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
13
|
+
|
|
14
|
+
# DomiNode SuperAGI Toolkit
|
|
15
|
+
|
|
16
|
+
SuperAGI toolkit providing 22 tools for interacting with the DomiNode rotating proxy-as-a-service platform.
|
|
17
|
+
|
|
18
|
+
## Installation
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
pip install dominusnode-superagi
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Or install from source:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cd integrations/superagi
|
|
28
|
+
pip install -e ".[dev]"
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Configuration
|
|
32
|
+
|
|
33
|
+
Set the following environment variables (or configure them in SuperAGI's tool configuration):
|
|
34
|
+
|
|
35
|
+
| Variable | Required | Default | Description |
|
|
36
|
+
|---|---|---|---|
|
|
37
|
+
| `DOMINUSNODE_API_KEY` | Yes | -- | Your DomiNode API key (`dn_live_...` or `dn_test_...`) |
|
|
38
|
+
| `DOMINUSNODE_BASE_URL` | No | `https://api.dominusnode.com` | DomiNode REST API base URL |
|
|
39
|
+
| `DOMINUSNODE_PROXY_HOST` | No | `proxy.dominusnode.com` | DomiNode proxy gateway hostname |
|
|
40
|
+
| `DOMINUSNODE_PROXY_PORT` | No | `8080` | DomiNode proxy gateway port |
|
|
41
|
+
|
|
42
|
+
## Usage with SuperAGI
|
|
43
|
+
|
|
44
|
+
Register the toolkit in your SuperAGI agent:
|
|
45
|
+
|
|
46
|
+
```python
|
|
47
|
+
from dominusnode_superagi.toolkit import DominusNodeToolkit
|
|
48
|
+
|
|
49
|
+
# The toolkit registers itself with SuperAGI
|
|
50
|
+
toolkit = DominusNodeToolkit()
|
|
51
|
+
tools = toolkit.get_tools() # Returns all 22 tool instances
|
|
52
|
+
env_keys = toolkit.get_env_keys() # Config keys needed
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Available Tools (22)
|
|
56
|
+
|
|
57
|
+
### Proxy Operations
|
|
58
|
+
- **DomiNode Proxied Fetch** -- Fetch a URL through rotating proxies with geo-targeting
|
|
59
|
+
- **DomiNode Proxy Config** -- Get proxy endpoint configuration
|
|
60
|
+
- **DomiNode List Sessions** -- View active proxy sessions
|
|
61
|
+
|
|
62
|
+
### Wallet
|
|
63
|
+
- **DomiNode Check Balance** -- View wallet balance
|
|
64
|
+
- **DomiNode Check Usage** -- View usage statistics by period
|
|
65
|
+
- **DomiNode TopUp PayPal** -- Create a PayPal wallet top-up order
|
|
66
|
+
|
|
67
|
+
### Agentic Wallets
|
|
68
|
+
- **DomiNode Create Agentic Wallet** -- Create a sub-wallet with spending limit
|
|
69
|
+
- **DomiNode Fund Agentic Wallet** -- Transfer from main wallet
|
|
70
|
+
- **DomiNode Agentic Wallet Balance** -- Check sub-wallet balance
|
|
71
|
+
- **DomiNode List Agentic Wallets** -- List all sub-wallets
|
|
72
|
+
- **DomiNode Agentic Transactions** -- Transaction history
|
|
73
|
+
- **DomiNode Freeze Agentic Wallet** -- Temporarily halt spending
|
|
74
|
+
- **DomiNode Unfreeze Agentic Wallet** -- Re-enable spending
|
|
75
|
+
- **DomiNode Delete Agentic Wallet** -- Delete and refund balance
|
|
76
|
+
|
|
77
|
+
### Teams
|
|
78
|
+
- **DomiNode Create Team** -- Create team with shared wallet
|
|
79
|
+
- **DomiNode List Teams** -- List user's teams
|
|
80
|
+
- **DomiNode Team Details** -- Get team info
|
|
81
|
+
- **DomiNode Team Fund** -- Fund team wallet
|
|
82
|
+
- **DomiNode Team Create Key** -- Create team API key
|
|
83
|
+
- **DomiNode Team Usage** -- Team transaction history
|
|
84
|
+
- **DomiNode Update Team** -- Update team settings
|
|
85
|
+
- **DomiNode Update Team Member Role** -- Change member role
|
|
86
|
+
|
|
87
|
+
### Payments
|
|
88
|
+
- **DomiNode X402 Info** -- x402 micropayment protocol details
|
|
89
|
+
|
|
90
|
+
## Security
|
|
91
|
+
|
|
92
|
+
All tools include:
|
|
93
|
+
- SSRF prevention (private IP blocking, DNS rebinding protection, Teredo/6to4 IPv6 tunnel detection)
|
|
94
|
+
- OFAC sanctioned country blocking (CU, IR, KP, RU, SY)
|
|
95
|
+
- Credential scrubbing in error messages
|
|
96
|
+
- Prototype pollution prevention
|
|
97
|
+
- HTTP method restriction (GET/HEAD/OPTIONS only for proxied fetch)
|
|
98
|
+
- 10 MB response cap, redirect following disabled
|
|
99
|
+
|
|
100
|
+
## Testing
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
pip install -e ".[dev]"
|
|
104
|
+
pytest tests/ -v
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# DomiNode SuperAGI Toolkit
|
|
2
|
+
|
|
3
|
+
SuperAGI toolkit providing 22 tools for interacting with the DomiNode rotating proxy-as-a-service platform.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install dominusnode-superagi
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Or install from source:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
cd integrations/superagi
|
|
15
|
+
pip install -e ".[dev]"
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Configuration
|
|
19
|
+
|
|
20
|
+
Set the following environment variables (or configure them in SuperAGI's tool configuration):
|
|
21
|
+
|
|
22
|
+
| Variable | Required | Default | Description |
|
|
23
|
+
|---|---|---|---|
|
|
24
|
+
| `DOMINUSNODE_API_KEY` | Yes | -- | Your DomiNode API key (`dn_live_...` or `dn_test_...`) |
|
|
25
|
+
| `DOMINUSNODE_BASE_URL` | No | `https://api.dominusnode.com` | DomiNode REST API base URL |
|
|
26
|
+
| `DOMINUSNODE_PROXY_HOST` | No | `proxy.dominusnode.com` | DomiNode proxy gateway hostname |
|
|
27
|
+
| `DOMINUSNODE_PROXY_PORT` | No | `8080` | DomiNode proxy gateway port |
|
|
28
|
+
|
|
29
|
+
## Usage with SuperAGI
|
|
30
|
+
|
|
31
|
+
Register the toolkit in your SuperAGI agent:
|
|
32
|
+
|
|
33
|
+
```python
|
|
34
|
+
from dominusnode_superagi.toolkit import DominusNodeToolkit
|
|
35
|
+
|
|
36
|
+
# The toolkit registers itself with SuperAGI
|
|
37
|
+
toolkit = DominusNodeToolkit()
|
|
38
|
+
tools = toolkit.get_tools() # Returns all 22 tool instances
|
|
39
|
+
env_keys = toolkit.get_env_keys() # Config keys needed
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Available Tools (22)
|
|
43
|
+
|
|
44
|
+
### Proxy Operations
|
|
45
|
+
- **DomiNode Proxied Fetch** -- Fetch a URL through rotating proxies with geo-targeting
|
|
46
|
+
- **DomiNode Proxy Config** -- Get proxy endpoint configuration
|
|
47
|
+
- **DomiNode List Sessions** -- View active proxy sessions
|
|
48
|
+
|
|
49
|
+
### Wallet
|
|
50
|
+
- **DomiNode Check Balance** -- View wallet balance
|
|
51
|
+
- **DomiNode Check Usage** -- View usage statistics by period
|
|
52
|
+
- **DomiNode TopUp PayPal** -- Create a PayPal wallet top-up order
|
|
53
|
+
|
|
54
|
+
### Agentic Wallets
|
|
55
|
+
- **DomiNode Create Agentic Wallet** -- Create a sub-wallet with spending limit
|
|
56
|
+
- **DomiNode Fund Agentic Wallet** -- Transfer from main wallet
|
|
57
|
+
- **DomiNode Agentic Wallet Balance** -- Check sub-wallet balance
|
|
58
|
+
- **DomiNode List Agentic Wallets** -- List all sub-wallets
|
|
59
|
+
- **DomiNode Agentic Transactions** -- Transaction history
|
|
60
|
+
- **DomiNode Freeze Agentic Wallet** -- Temporarily halt spending
|
|
61
|
+
- **DomiNode Unfreeze Agentic Wallet** -- Re-enable spending
|
|
62
|
+
- **DomiNode Delete Agentic Wallet** -- Delete and refund balance
|
|
63
|
+
|
|
64
|
+
### Teams
|
|
65
|
+
- **DomiNode Create Team** -- Create team with shared wallet
|
|
66
|
+
- **DomiNode List Teams** -- List user's teams
|
|
67
|
+
- **DomiNode Team Details** -- Get team info
|
|
68
|
+
- **DomiNode Team Fund** -- Fund team wallet
|
|
69
|
+
- **DomiNode Team Create Key** -- Create team API key
|
|
70
|
+
- **DomiNode Team Usage** -- Team transaction history
|
|
71
|
+
- **DomiNode Update Team** -- Update team settings
|
|
72
|
+
- **DomiNode Update Team Member Role** -- Change member role
|
|
73
|
+
|
|
74
|
+
### Payments
|
|
75
|
+
- **DomiNode X402 Info** -- x402 micropayment protocol details
|
|
76
|
+
|
|
77
|
+
## Security
|
|
78
|
+
|
|
79
|
+
All tools include:
|
|
80
|
+
- SSRF prevention (private IP blocking, DNS rebinding protection, Teredo/6to4 IPv6 tunnel detection)
|
|
81
|
+
- OFAC sanctioned country blocking (CU, IR, KP, RU, SY)
|
|
82
|
+
- Credential scrubbing in error messages
|
|
83
|
+
- Prototype pollution prevention
|
|
84
|
+
- HTTP method restriction (GET/HEAD/OPTIONS only for proxied fetch)
|
|
85
|
+
- 10 MB response cap, redirect following disabled
|
|
86
|
+
|
|
87
|
+
## Testing
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
pip install -e ".[dev]"
|
|
91
|
+
pytest tests/ -v
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
## License
|
|
95
|
+
|
|
96
|
+
MIT
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
"""DomiNode SuperAGI Toolkit -- registers all 24 DomiNode tools.
|
|
2
|
+
|
|
3
|
+
Provides a ``BaseToolkit`` subclass that exposes 24 tools for interacting
|
|
4
|
+
with the DomiNode rotating proxy-as-a-service platform. The toolkit
|
|
5
|
+
covers proxied HTTP fetching, wallet and usage monitoring, agentic wallet
|
|
6
|
+
management, team management, x402 micropayments, and PayPal top-up.
|
|
7
|
+
|
|
8
|
+
Example::
|
|
9
|
+
|
|
10
|
+
from dominusnode_superagi.toolkit import DominusNodeToolkit
|
|
11
|
+
|
|
12
|
+
toolkit = DominusNodeToolkit()
|
|
13
|
+
tools = toolkit.get_tools()
|
|
14
|
+
# Each tool has .name, .description, .args_schema, and ._execute()
|
|
15
|
+
|
|
16
|
+
Requires ``DOMINUSNODE_API_KEY`` (and optionally ``DOMINUSNODE_BASE_URL``,
|
|
17
|
+
``DOMINUSNODE_PROXY_HOST``, ``DOMINUSNODE_PROXY_PORT``) to be set in
|
|
18
|
+
SuperAGI's tool configuration.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
from __future__ import annotations
|
|
22
|
+
|
|
23
|
+
from superagi.tools.base_tool import BaseToolkit
|
|
24
|
+
|
|
25
|
+
from dominusnode_superagi.tools import (
|
|
26
|
+
DominusNodeAgenticTransactionsTool,
|
|
27
|
+
DominusNodeAgenticWalletBalanceTool,
|
|
28
|
+
DominusNodeBalanceTool,
|
|
29
|
+
DominusNodeCreateAgenticWalletTool,
|
|
30
|
+
DominusNodeCreateTeamTool,
|
|
31
|
+
DominusNodeDeleteAgenticWalletTool,
|
|
32
|
+
DominusNodeFreezeAgenticWalletTool,
|
|
33
|
+
DominusNodeFundAgenticWalletTool,
|
|
34
|
+
DominusNodeListAgenticWalletsTool,
|
|
35
|
+
DominusNodeListTeamsTool,
|
|
36
|
+
DominusNodeProxiedFetchTool,
|
|
37
|
+
DominusNodeProxyConfigTool,
|
|
38
|
+
DominusNodeSessionsTool,
|
|
39
|
+
DominusNodeTeamCreateKeyTool,
|
|
40
|
+
DominusNodeTeamDetailsTool,
|
|
41
|
+
DominusNodeTeamFundTool,
|
|
42
|
+
DominusNodeTeamUsageTool,
|
|
43
|
+
DominusNodeTopupPaypalTool,
|
|
44
|
+
DominusNodeUnfreezeAgenticWalletTool,
|
|
45
|
+
DominusNodeUpdateTeamMemberRoleTool,
|
|
46
|
+
DominusNodeUpdateTeamTool,
|
|
47
|
+
DominusNodeUpdateWalletPolicyTool,
|
|
48
|
+
DominusNodeUsageTool,
|
|
49
|
+
DominusNodeX402InfoTool,
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
class DominusNodeToolkit(BaseToolkit):
|
|
54
|
+
"""SuperAGI toolkit providing 22 DomiNode proxy service tools.
|
|
55
|
+
|
|
56
|
+
Tools include:
|
|
57
|
+
|
|
58
|
+
**Proxy Operations:**
|
|
59
|
+
- Proxied Fetch -- fetch URLs through rotating proxies
|
|
60
|
+
- Proxy Config -- get proxy endpoint configuration
|
|
61
|
+
- List Sessions -- view active proxy sessions
|
|
62
|
+
|
|
63
|
+
**Wallet:**
|
|
64
|
+
- Check Balance -- view wallet balance
|
|
65
|
+
- Check Usage -- view usage statistics
|
|
66
|
+
- TopUp PayPal -- create a PayPal wallet top-up order
|
|
67
|
+
|
|
68
|
+
**Agentic Wallets:**
|
|
69
|
+
- Create, Fund, Balance, List, Transactions
|
|
70
|
+
- Freeze, Unfreeze, Delete
|
|
71
|
+
|
|
72
|
+
**Teams:**
|
|
73
|
+
- Create, List, Details, Fund, Create Key, Usage
|
|
74
|
+
- Update Team, Update Member Role
|
|
75
|
+
|
|
76
|
+
**Payments:**
|
|
77
|
+
- X402 Info -- micropayment protocol details
|
|
78
|
+
"""
|
|
79
|
+
|
|
80
|
+
name: str = "DomiNode Proxy Toolkit"
|
|
81
|
+
description: str = (
|
|
82
|
+
"Rotating proxy-as-a-service with wallet billing, team management, "
|
|
83
|
+
"agentic sub-wallets, and x402 micropayments. Datacenter proxies at "
|
|
84
|
+
"$3/GB, residential at $5/GB."
|
|
85
|
+
)
|
|
86
|
+
|
|
87
|
+
def get_tools(self) -> list:
|
|
88
|
+
"""Return all 24 DomiNode tools for registration in SuperAGI.
|
|
89
|
+
|
|
90
|
+
Returns:
|
|
91
|
+
A list of 22 BaseTool instances covering proxy, wallet, team,
|
|
92
|
+
and payment operations.
|
|
93
|
+
"""
|
|
94
|
+
return [
|
|
95
|
+
DominusNodeProxiedFetchTool(),
|
|
96
|
+
DominusNodeBalanceTool(),
|
|
97
|
+
DominusNodeUsageTool(),
|
|
98
|
+
DominusNodeProxyConfigTool(),
|
|
99
|
+
DominusNodeSessionsTool(),
|
|
100
|
+
DominusNodeCreateAgenticWalletTool(),
|
|
101
|
+
DominusNodeFundAgenticWalletTool(),
|
|
102
|
+
DominusNodeAgenticWalletBalanceTool(),
|
|
103
|
+
DominusNodeListAgenticWalletsTool(),
|
|
104
|
+
DominusNodeAgenticTransactionsTool(),
|
|
105
|
+
DominusNodeFreezeAgenticWalletTool(),
|
|
106
|
+
DominusNodeUnfreezeAgenticWalletTool(),
|
|
107
|
+
DominusNodeDeleteAgenticWalletTool(),
|
|
108
|
+
DominusNodeUpdateWalletPolicyTool(),
|
|
109
|
+
DominusNodeCreateTeamTool(),
|
|
110
|
+
DominusNodeListTeamsTool(),
|
|
111
|
+
DominusNodeTeamDetailsTool(),
|
|
112
|
+
DominusNodeTeamFundTool(),
|
|
113
|
+
DominusNodeTeamCreateKeyTool(),
|
|
114
|
+
DominusNodeTeamUsageTool(),
|
|
115
|
+
DominusNodeUpdateTeamTool(),
|
|
116
|
+
DominusNodeUpdateTeamMemberRoleTool(),
|
|
117
|
+
DominusNodeX402InfoTool(),
|
|
118
|
+
DominusNodeTopupPaypalTool(),
|
|
119
|
+
]
|
|
120
|
+
|
|
121
|
+
def get_env_keys(self) -> list:
|
|
122
|
+
"""Return the environment/config keys needed by DomiNode tools.
|
|
123
|
+
|
|
124
|
+
Returns:
|
|
125
|
+
A list of configuration key names that SuperAGI should prompt
|
|
126
|
+
the user to set.
|
|
127
|
+
"""
|
|
128
|
+
return [
|
|
129
|
+
"DOMINUSNODE_API_KEY",
|
|
130
|
+
"DOMINUSNODE_BASE_URL",
|
|
131
|
+
"DOMINUSNODE_PROXY_HOST",
|
|
132
|
+
"DOMINUSNODE_PROXY_PORT",
|
|
133
|
+
]
|