dhisana 0.0.1.dev253__py3-none-any.whl → 0.0.1.dev254__py3-none-any.whl

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.
@@ -1714,6 +1714,82 @@ async def test_theorg(api_key: str) -> Dict[str, Any]:
1714
1714
  return {"success": False, "status_code": 0, "error_message": str(exc)}
1715
1715
 
1716
1716
 
1717
+ ###############################################################################
1718
+ # CORESIGNAL CONNECTIVITY
1719
+ ###############################################################################
1720
+
1721
+ async def test_coresignal(api_key: str) -> Dict[str, Any]:
1722
+ """
1723
+ Connectivity test for Coresignal using the Multi-source Jobs API search preview.
1724
+
1725
+ Uses a lightweight search query to verify API key validity.
1726
+ Reference: https://docs.coresignal.com/jobs-api/multi-source-jobs-api/search-preview
1727
+ """
1728
+ url = "https://api.coresignal.com/cdapi/v2/job_multi_source/search/es_dsl/preview"
1729
+ headers = {
1730
+ "apikey": api_key,
1731
+ "Accept": "application/json",
1732
+ "Content-Type": "application/json",
1733
+ }
1734
+ # Minimal query to check connectivity
1735
+ payload = {
1736
+ "query": {
1737
+ "bool": {
1738
+ "must": [
1739
+ {
1740
+ "match": {
1741
+ "title": "software engineer"
1742
+ }
1743
+ }
1744
+ ]
1745
+ }
1746
+ }
1747
+ }
1748
+
1749
+ try:
1750
+ timeout = aiohttp.ClientTimeout(total=15)
1751
+ async with aiohttp.ClientSession(timeout=timeout) as session:
1752
+ async with session.post(url, headers=headers, json=payload) as resp:
1753
+ status = resp.status
1754
+ data = await safe_json(resp)
1755
+
1756
+ if status == 200:
1757
+ # Check if we got a valid response (list of job results or empty list)
1758
+ if isinstance(data, list):
1759
+ return {"success": True, "status_code": status, "error_message": None}
1760
+ # Some endpoints may return a dict with results
1761
+ if isinstance(data, dict):
1762
+ if "error" in data or "errors" in data:
1763
+ err = data.get("error") or data.get("errors")
1764
+ if isinstance(err, dict):
1765
+ err = err.get("message") or str(err)
1766
+ return {"success": False, "status_code": status, "error_message": str(err)}
1767
+ return {"success": True, "status_code": status, "error_message": None}
1768
+ return {"success": True, "status_code": status, "error_message": None}
1769
+
1770
+ if status in (401, 403):
1771
+ msg = None
1772
+ if isinstance(data, dict):
1773
+ msg = data.get("message") or data.get("error") or data.get("detail")
1774
+ return {
1775
+ "success": False,
1776
+ "status_code": status,
1777
+ "error_message": msg or "Unauthorized – check Coresignal API key",
1778
+ }
1779
+
1780
+ msg = None
1781
+ if isinstance(data, dict):
1782
+ msg = data.get("message") or data.get("error") or data.get("detail")
1783
+ return {
1784
+ "success": False,
1785
+ "status_code": status,
1786
+ "error_message": msg or f"Coresignal responded with {status}",
1787
+ }
1788
+ except Exception as e:
1789
+ logger.error(f"Coresignal connectivity test failed: {e}")
1790
+ return {"success": False, "status_code": 0, "error_message": str(e)}
1791
+
1792
+
1717
1793
  ###############################################################################
1718
1794
  # DATAGMA CONNECTIVITY
1719
1795
  ###############################################################################
@@ -1808,6 +1884,7 @@ async def test_connectivity(tool_config: List[Dict[str, Any]]) -> Dict[str, Dict
1808
1884
  "commonRoom": test_commonroom,
1809
1885
  "scarf": test_scarf,
1810
1886
  "theorg": test_theorg,
1887
+ "coresignal": test_coresignal,
1811
1888
  "salesforce": test_salesforce,
1812
1889
  "clay": test_clay,
1813
1890
  "posthog": test_posthog,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev253
3
+ Version: 0.0.1.dev254
4
4
  Summary: A Python SDK for Dhisana AI Platform
5
5
  Home-page: https://github.com/dhisana-ai/dhisana-python-sdk
6
6
  Author: Admin
@@ -81,7 +81,7 @@ dhisana/utils/serperdev_google_jobs.py,sha256=m5_2f_5y79FOFZz1A_go6m0hIUfbbAoZ0Y
81
81
  dhisana/utils/serperdev_local_business.py,sha256=JoZfTg58Hojv61cyuwA2lcnPdLT1lawnWaBNrUYWnuQ,6447
82
82
  dhisana/utils/serperdev_search.py,sha256=_iBKIfHMq4gFv5StYz58eArriygoi1zW6VnLlux8vto,9363
83
83
  dhisana/utils/smtp_email_tools.py,sha256=J9uDHCEu2BTyFzDBru0e1lC8bsAMt9c_mYXTzJgk9Kc,22054
84
- dhisana/utils/test_connect.py,sha256=pYR1Ki6WKx-vAhLJxQ6At627xfOnlQeVRjnW7FBdGKM,86702
84
+ dhisana/utils/test_connect.py,sha256=UbVNVPS8OXRCrntwRCZVieX2m3OJ3mRYZG-gj2oajHA,90040
85
85
  dhisana/utils/trasform_json.py,sha256=7V72XNDpuxUX0GHN5D83z4anj_gIf5zabaHeQm7b1_E,6979
86
86
  dhisana/utils/web_download_parse_tools.py,sha256=ouXwH7CmjcRjoBfP5BWat86MvcGO-8rLCmWQe_eZKjc,7810
87
87
  dhisana/utils/workflow_code_model.py,sha256=YPWse5vBb3O6Km2PvKh1Q3AB8qBkzLt1CrR5xOL9Mro,99
@@ -95,8 +95,8 @@ dhisana/workflow/agent.py,sha256=esv7_i_XuMkV2j1nz_UlsHov_m6X5WZZiZm_tG4OBHU,565
95
95
  dhisana/workflow/flow.py,sha256=xWE3qQbM7j2B3FH8XnY3zOL_QXX4LbTW4ArndnEYJE0,1638
96
96
  dhisana/workflow/task.py,sha256=HlWz9mtrwLYByoSnePOemBUBrMEcj7KbgNjEE1oF5wo,1830
97
97
  dhisana/workflow/test.py,sha256=E7lRnXK0PguTNzyasHytLzTJdkqIPxG5_4qk4hMEeKc,3399
98
- dhisana-0.0.1.dev253.dist-info/METADATA,sha256=zs8sGuJ9Lv2en8iIMns92NleCIMmMQ4ub0bqzzimMsY,1190
99
- dhisana-0.0.1.dev253.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- dhisana-0.0.1.dev253.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
101
- dhisana-0.0.1.dev253.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
102
- dhisana-0.0.1.dev253.dist-info/RECORD,,
98
+ dhisana-0.0.1.dev254.dist-info/METADATA,sha256=Y4lCiPFjHmSRLN2QfJsTlKVxdu_m3XRXHl9c8DmIm6k,1190
99
+ dhisana-0.0.1.dev254.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ dhisana-0.0.1.dev254.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
101
+ dhisana-0.0.1.dev254.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
102
+ dhisana-0.0.1.dev254.dist-info/RECORD,,