dhisana 0.0.1.dev253__tar.gz → 0.0.1.dev254__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.
Files changed (121) hide show
  1. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/PKG-INFO +1 -1
  2. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/setup.py +1 -1
  3. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/test_connect.py +77 -0
  4. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana.egg-info/PKG-INFO +1 -1
  5. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/README.md +0 -0
  6. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/pyproject.toml +0 -0
  7. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/setup.cfg +0 -0
  8. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/__init__.py +0 -0
  9. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/cli/__init__.py +0 -0
  10. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/cli/cli.py +0 -0
  11. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/cli/datasets.py +0 -0
  12. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/cli/models.py +0 -0
  13. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/cli/predictions.py +0 -0
  14. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/schemas/__init__.py +0 -0
  15. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/schemas/common.py +0 -0
  16. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/schemas/sales.py +0 -0
  17. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/ui/__init__.py +0 -0
  18. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/ui/components.py +0 -0
  19. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/__init__.py +0 -0
  20. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/add_mapping.py +0 -0
  21. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/agent_tools.py +0 -0
  22. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/apollo_tools.py +0 -0
  23. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/assistant_tool_tag.py +0 -0
  24. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/built_with_api_tools.py +0 -0
  25. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/cache_output_tools.py +0 -0
  26. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/cache_output_tools_local.py +0 -0
  27. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/check_email_validity_tools.py +0 -0
  28. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/check_for_intent_signal.py +0 -0
  29. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/check_linkedin_url_validity.py +0 -0
  30. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/clay_tools.py +0 -0
  31. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/clean_properties.py +0 -0
  32. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/company_utils.py +0 -0
  33. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/compose_salesnav_query.py +0 -0
  34. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/compose_search_query.py +0 -0
  35. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/compose_three_step_workflow.py +0 -0
  36. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/composite_tools.py +0 -0
  37. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/dataframe_tools.py +0 -0
  38. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/domain_parser.py +0 -0
  39. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/email_body_utils.py +0 -0
  40. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/email_parse_helpers.py +0 -0
  41. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/email_provider.py +0 -0
  42. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/enrich_lead_information.py +0 -0
  43. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/extract_email_content_for_llm.py +0 -0
  44. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/fetch_openai_config.py +0 -0
  45. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/field_validators.py +0 -0
  46. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/g2_tools.py +0 -0
  47. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_content.py +0 -0
  48. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_custom_message.py +0 -0
  49. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_email.py +0 -0
  50. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_email_response.py +0 -0
  51. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_flow.py +0 -0
  52. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_leads_salesnav.py +0 -0
  53. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_linkedin_connect_message.py +0 -0
  54. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_linkedin_response_message.py +0 -0
  55. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/generate_structured_output_internal.py +0 -0
  56. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/google_custom_search.py +0 -0
  57. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/google_oauth_tools.py +0 -0
  58. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/google_workspace_tools.py +0 -0
  59. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/hubspot_clearbit.py +0 -0
  60. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/hubspot_crm_tools.py +0 -0
  61. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/instantly_tools.py +0 -0
  62. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/linkedin_crawler.py +0 -0
  63. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/lusha_tools.py +0 -0
  64. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/mailgun_tools.py +0 -0
  65. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/mailreach_tools.py +0 -0
  66. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/microsoft365_tools.py +0 -0
  67. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openai_assistant_and_file_utils.py +0 -0
  68. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openai_helpers.py +0 -0
  69. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openapi_spec_to_tools.py +0 -0
  70. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openapi_tool/__init__.py +0 -0
  71. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openapi_tool/api_models.py +0 -0
  72. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openapi_tool/convert_openai_spec_to_tool.py +0 -0
  73. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/openapi_tool/openapi_tool.py +0 -0
  74. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/parse_linkedin_messages_txt.py +0 -0
  75. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/profile.py +0 -0
  76. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/proxy_curl_tools.py +0 -0
  77. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/proxycurl_search_leads.py +0 -0
  78. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/python_function_to_tools.py +0 -0
  79. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/research_lead.py +0 -0
  80. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/sales_navigator_crawler.py +0 -0
  81. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/salesforce_crm_tools.py +0 -0
  82. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/search_router.py +0 -0
  83. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/search_router_jobs.py +0 -0
  84. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/sendgrid_tools.py +0 -0
  85. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serarch_router_local_business.py +0 -0
  86. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serpapi_additional_tools.py +0 -0
  87. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serpapi_google_jobs.py +0 -0
  88. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serpapi_google_search.py +0 -0
  89. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serpapi_local_business_search.py +0 -0
  90. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serpapi_search_tools.py +0 -0
  91. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serperdev_google_jobs.py +0 -0
  92. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serperdev_local_business.py +0 -0
  93. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/serperdev_search.py +0 -0
  94. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/smtp_email_tools.py +0 -0
  95. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/trasform_json.py +0 -0
  96. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/web_download_parse_tools.py +0 -0
  97. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/workflow_code_model.py +0 -0
  98. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/utils/zoominfo_tools.py +0 -0
  99. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/workflow/__init__.py +0 -0
  100. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/workflow/agent.py +0 -0
  101. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/workflow/flow.py +0 -0
  102. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/workflow/task.py +0 -0
  103. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana/workflow/test.py +0 -0
  104. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana.egg-info/SOURCES.txt +0 -0
  105. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana.egg-info/dependency_links.txt +0 -0
  106. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana.egg-info/entry_points.txt +0 -0
  107. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana.egg-info/requires.txt +0 -0
  108. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/src/dhisana.egg-info/top_level.txt +0 -0
  109. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_agent_tools.py +0 -0
  110. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_apollo_company_search.py +0 -0
  111. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_apollo_lead_search.py +0 -0
  112. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_connectivity.py +0 -0
  113. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_email_body_utils.py +0 -0
  114. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_google_document.py +0 -0
  115. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_hubspot_call_logs.py +0 -0
  116. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_linkedin_serper.py +0 -0
  117. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_mailreach.py +0 -0
  118. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_mcp_connectivity.py +0 -0
  119. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_proxycurl_get_company_search_id.py +0 -0
  120. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_proxycurl_job_count.py +0 -0
  121. {dhisana-0.0.1.dev253 → dhisana-0.0.1.dev254}/tests/test_structured_output_with_mcp.py +0 -0
@@ -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
@@ -2,7 +2,7 @@ from setuptools import setup, find_packages
2
2
 
3
3
  setup(
4
4
  name='dhisana',
5
- version='0.0.1-dev253',
5
+ version='0.0.1-dev254',
6
6
  description='A Python SDK for Dhisana AI Platform',
7
7
  author='Admin',
8
8
  author_email='contact@dhisana.ai',
@@ -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
File without changes
File without changes