dominusnode-haystack 1.0.0__tar.gz → 1.0.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.
Potentially problematic release.
This version of dominusnode-haystack might be problematic. Click here for more details.
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/LICENSE +1 -1
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/PKG-INFO +5 -4
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/README.md +1 -1
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack/__init__.py +1 -1
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack/tools.py +20 -20
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/PKG-INFO +5 -4
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/pyproject.toml +3 -3
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/SOURCES.txt +0 -0
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/dependency_links.txt +0 -0
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/requires.txt +0 -0
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/top_level.txt +0 -0
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/setup.cfg +0 -0
- {dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/tests/test_tools.py +0 -0
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: dominusnode-haystack
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary:
|
|
5
|
-
Author-email:
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Dominus Node rotating proxy tools for Haystack AI pipelines
|
|
5
|
+
Author-email: Dominus Node <dev@dominusnode.com>
|
|
6
6
|
License: MIT
|
|
7
7
|
Keywords: haystack,proxy,dominusnode,ai,tools
|
|
8
8
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -22,3 +22,4 @@ Requires-Dist: haystack-ai>=2.0.0
|
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
24
24
|
Requires-Dist: pytest-mock; extra == "dev"
|
|
25
|
+
Dynamic: license-file
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"""
|
|
1
|
+
"""Dominus Node Haystack toolkit -- 22 proxy, wallet, team, and PayPal tools.
|
|
2
2
|
|
|
3
3
|
Provides a Haystack-compatible toolkit class that exposes 22 Tool objects for
|
|
4
|
-
interacting with the
|
|
4
|
+
interacting with the Dominus Node rotating proxy-as-a-service platform.
|
|
5
5
|
|
|
6
6
|
Tools cover:
|
|
7
7
|
- Proxied HTTP fetching through rotating proxies
|
|
@@ -372,7 +372,7 @@ _CREDENTIAL_RE = re.compile(r"dn_(live|test)_[a-zA-Z0-9]+")
|
|
|
372
372
|
|
|
373
373
|
|
|
374
374
|
def _sanitize_error(message: str) -> str:
|
|
375
|
-
"""Remove
|
|
375
|
+
"""Remove Dominus Node API key patterns from error messages."""
|
|
376
376
|
return _CREDENTIAL_RE.sub("***", message)
|
|
377
377
|
|
|
378
378
|
|
|
@@ -501,18 +501,18 @@ def _validate_domains(domains: Any) -> Optional[str]:
|
|
|
501
501
|
|
|
502
502
|
|
|
503
503
|
class DominusNodeToolkit:
|
|
504
|
-
"""Haystack toolkit providing
|
|
504
|
+
"""Haystack toolkit providing Dominus Node rotating proxy tools.
|
|
505
505
|
|
|
506
|
-
Authenticates using a
|
|
506
|
+
Authenticates using a Dominus Node API key and exposes 22 tools for proxy,
|
|
507
507
|
wallet, team, and payment management. All tool methods return dicts
|
|
508
508
|
suitable for Haystack pipeline consumption.
|
|
509
509
|
|
|
510
510
|
Args:
|
|
511
|
-
api_key:
|
|
511
|
+
api_key: Dominus Node API key (``dn_live_...`` or ``dn_test_...``).
|
|
512
512
|
Falls back to ``DOMINUSNODE_API_KEY`` environment variable.
|
|
513
|
-
base_url: Base URL of the
|
|
514
|
-
proxy_host: Hostname of the
|
|
515
|
-
proxy_port: Port of the
|
|
513
|
+
base_url: Base URL of the Dominus Node REST API.
|
|
514
|
+
proxy_host: Hostname of the Dominus Node proxy gateway.
|
|
515
|
+
proxy_port: Port of the Dominus Node proxy gateway.
|
|
516
516
|
timeout: HTTP request timeout in seconds.
|
|
517
517
|
|
|
518
518
|
Example::
|
|
@@ -544,7 +544,7 @@ class DominusNodeToolkit:
|
|
|
544
544
|
# ------------------------------------------------------------------
|
|
545
545
|
|
|
546
546
|
def _authenticate(self) -> str:
|
|
547
|
-
"""Authenticate with the
|
|
547
|
+
"""Authenticate with the Dominus Node API using the API key.
|
|
548
548
|
|
|
549
549
|
Returns:
|
|
550
550
|
The JWT bearer token.
|
|
@@ -554,7 +554,7 @@ class DominusNodeToolkit:
|
|
|
554
554
|
"""
|
|
555
555
|
if not self.api_key:
|
|
556
556
|
raise RuntimeError(
|
|
557
|
-
"
|
|
557
|
+
"Dominus Node API key is required. Pass api_key or set "
|
|
558
558
|
"DOMINUSNODE_API_KEY environment variable."
|
|
559
559
|
)
|
|
560
560
|
|
|
@@ -599,7 +599,7 @@ class DominusNodeToolkit:
|
|
|
599
599
|
path: str,
|
|
600
600
|
body: Optional[Dict[str, Any]] = None,
|
|
601
601
|
) -> Any:
|
|
602
|
-
"""Make an authenticated API request to the
|
|
602
|
+
"""Make an authenticated API request to the Dominus Node REST API.
|
|
603
603
|
|
|
604
604
|
Args:
|
|
605
605
|
method: HTTP method (GET, POST, PATCH, DELETE).
|
|
@@ -681,7 +681,7 @@ class DominusNodeToolkit:
|
|
|
681
681
|
proxy_type: str = "dc",
|
|
682
682
|
headers: Dict[str, str] | None = None,
|
|
683
683
|
) -> Dict[str, Any]:
|
|
684
|
-
"""Fetch a URL through the
|
|
684
|
+
"""Fetch a URL through the Dominus Node rotating proxy network.
|
|
685
685
|
|
|
686
686
|
Args:
|
|
687
687
|
url: Target URL to fetch.
|
|
@@ -779,7 +779,7 @@ class DominusNodeToolkit:
|
|
|
779
779
|
except Exception as e:
|
|
780
780
|
return {
|
|
781
781
|
"error": f"Proxy fetch failed: {_sanitize_error(str(e))}",
|
|
782
|
-
"hint": "Ensure the
|
|
782
|
+
"hint": "Ensure the Dominus Node proxy gateway is running and accessible.",
|
|
783
783
|
}
|
|
784
784
|
|
|
785
785
|
# ==================================================================
|
|
@@ -1461,7 +1461,7 @@ class DominusNodeToolkit:
|
|
|
1461
1461
|
# ==================================================================
|
|
1462
1462
|
|
|
1463
1463
|
def get_tools(self) -> List[Any]:
|
|
1464
|
-
"""Return list of Haystack Tool objects for all 22
|
|
1464
|
+
"""Return list of Haystack Tool objects for all 22 Dominus Node functions.
|
|
1465
1465
|
|
|
1466
1466
|
Each Tool wraps one of the toolkit methods with a name, description,
|
|
1467
1467
|
and JSON Schema parameter definition compatible with Haystack's
|
|
@@ -1476,7 +1476,7 @@ class DominusNodeToolkit:
|
|
|
1476
1476
|
Tool(
|
|
1477
1477
|
name="dominusnode_proxied_fetch",
|
|
1478
1478
|
description=(
|
|
1479
|
-
"Fetch a URL through
|
|
1479
|
+
"Fetch a URL through Dominus Node's rotating proxy network. "
|
|
1480
1480
|
"Supports geo-targeting and datacenter/residential pool selection. "
|
|
1481
1481
|
"Only GET, HEAD, OPTIONS methods are allowed."
|
|
1482
1482
|
),
|
|
@@ -1505,7 +1505,7 @@ class DominusNodeToolkit:
|
|
|
1505
1505
|
),
|
|
1506
1506
|
Tool(
|
|
1507
1507
|
name="dominusnode_check_balance",
|
|
1508
|
-
description="Check the current
|
|
1508
|
+
description="Check the current Dominus Node wallet balance in cents.",
|
|
1509
1509
|
function=self.check_balance,
|
|
1510
1510
|
parameters={
|
|
1511
1511
|
"type": "object",
|
|
@@ -1514,7 +1514,7 @@ class DominusNodeToolkit:
|
|
|
1514
1514
|
),
|
|
1515
1515
|
Tool(
|
|
1516
1516
|
name="dominusnode_check_usage",
|
|
1517
|
-
description="Check
|
|
1517
|
+
description="Check Dominus Node proxy usage statistics for a given time period.",
|
|
1518
1518
|
function=self.check_usage,
|
|
1519
1519
|
parameters={
|
|
1520
1520
|
"type": "object",
|
|
@@ -1529,7 +1529,7 @@ class DominusNodeToolkit:
|
|
|
1529
1529
|
),
|
|
1530
1530
|
Tool(
|
|
1531
1531
|
name="dominusnode_get_proxy_config",
|
|
1532
|
-
description="Get
|
|
1532
|
+
description="Get Dominus Node proxy configuration including endpoints and geo-targeting options.",
|
|
1533
1533
|
function=self.get_proxy_config,
|
|
1534
1534
|
parameters={
|
|
1535
1535
|
"type": "object",
|
|
@@ -1538,7 +1538,7 @@ class DominusNodeToolkit:
|
|
|
1538
1538
|
),
|
|
1539
1539
|
Tool(
|
|
1540
1540
|
name="dominusnode_list_sessions",
|
|
1541
|
-
description="List active
|
|
1541
|
+
description="List active Dominus Node proxy sessions.",
|
|
1542
1542
|
function=self.list_sessions,
|
|
1543
1543
|
parameters={
|
|
1544
1544
|
"type": "object",
|
{dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/PKG-INFO
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: dominusnode-haystack
|
|
3
|
-
Version: 1.0.
|
|
4
|
-
Summary:
|
|
5
|
-
Author-email:
|
|
3
|
+
Version: 1.0.1
|
|
4
|
+
Summary: Dominus Node rotating proxy tools for Haystack AI pipelines
|
|
5
|
+
Author-email: Dominus Node <dev@dominusnode.com>
|
|
6
6
|
License: MIT
|
|
7
7
|
Keywords: haystack,proxy,dominusnode,ai,tools
|
|
8
8
|
Classifier: Development Status :: 4 - Beta
|
|
@@ -22,3 +22,4 @@ Requires-Dist: haystack-ai>=2.0.0
|
|
|
22
22
|
Provides-Extra: dev
|
|
23
23
|
Requires-Dist: pytest>=7.0; extra == "dev"
|
|
24
24
|
Requires-Dist: pytest-mock; extra == "dev"
|
|
25
|
+
Dynamic: license-file
|
|
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dominusnode-haystack"
|
|
7
|
-
version = "1.0.
|
|
8
|
-
description = "
|
|
7
|
+
version = "1.0.1"
|
|
8
|
+
description = "Dominus Node rotating proxy tools for Haystack AI pipelines"
|
|
9
9
|
requires-python = ">=3.9"
|
|
10
10
|
license = {text = "MIT"}
|
|
11
11
|
authors = [
|
|
12
|
-
{name = "
|
|
12
|
+
{name = "Dominus Node", email = "dev@dominusnode.com"},
|
|
13
13
|
]
|
|
14
14
|
keywords = ["haystack", "proxy", "dominusnode", "ai", "tools"]
|
|
15
15
|
classifiers = [
|
{dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
{dominusnode_haystack-1.0.0 → dominusnode_haystack-1.0.1}/dominusnode_haystack.egg-info/requires.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|