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.
@@ -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,5 @@
1
+ """DomiNode tools for SuperAGI agents."""
2
+ from dominusnode_superagi.toolkit import DominusNodeToolkit
3
+
4
+ __version__ = "1.0.0"
5
+ __all__ = ["DominusNodeToolkit"]
@@ -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
+ ]