dhisana 0.0.1.dev237__tar.gz → 0.0.1.dev239__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 (118) hide show
  1. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/PKG-INFO +1 -1
  2. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/setup.py +1 -1
  3. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/apollo_tools.py +2 -0
  4. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/test_connect.py +44 -0
  5. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana.egg-info/PKG-INFO +1 -1
  6. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_connectivity.py +16 -0
  7. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/README.md +0 -0
  8. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/pyproject.toml +0 -0
  9. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/setup.cfg +0 -0
  10. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/__init__.py +0 -0
  11. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/cli/__init__.py +0 -0
  12. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/cli/cli.py +0 -0
  13. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/cli/datasets.py +0 -0
  14. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/cli/models.py +0 -0
  15. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/cli/predictions.py +0 -0
  16. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/schemas/__init__.py +0 -0
  17. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/schemas/common.py +0 -0
  18. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/schemas/sales.py +0 -0
  19. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/ui/__init__.py +0 -0
  20. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/ui/components.py +0 -0
  21. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/__init__.py +0 -0
  22. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/add_mapping.py +0 -0
  23. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/agent_tools.py +0 -0
  24. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/assistant_tool_tag.py +0 -0
  25. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/built_with_api_tools.py +0 -0
  26. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/cache_output_tools.py +0 -0
  27. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/cache_output_tools_local.py +0 -0
  28. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/check_email_validity_tools.py +0 -0
  29. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/check_for_intent_signal.py +0 -0
  30. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/check_linkedin_url_validity.py +0 -0
  31. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/clay_tools.py +0 -0
  32. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/clean_properties.py +0 -0
  33. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/company_utils.py +0 -0
  34. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/compose_salesnav_query.py +0 -0
  35. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/compose_search_query.py +0 -0
  36. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/compose_three_step_workflow.py +0 -0
  37. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/composite_tools.py +0 -0
  38. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/dataframe_tools.py +0 -0
  39. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/domain_parser.py +0 -0
  40. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/email_body_utils.py +0 -0
  41. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/email_parse_helpers.py +0 -0
  42. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/email_provider.py +0 -0
  43. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/enrich_lead_information.py +0 -0
  44. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/extract_email_content_for_llm.py +0 -0
  45. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/fetch_openai_config.py +0 -0
  46. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/field_validators.py +0 -0
  47. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/g2_tools.py +0 -0
  48. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_content.py +0 -0
  49. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_email.py +0 -0
  50. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_email_response.py +0 -0
  51. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_flow.py +0 -0
  52. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_leads_salesnav.py +0 -0
  53. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_linkedin_connect_message.py +0 -0
  54. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_linkedin_response_message.py +0 -0
  55. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/generate_structured_output_internal.py +0 -0
  56. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/google_custom_search.py +0 -0
  57. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/google_oauth_tools.py +0 -0
  58. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/google_workspace_tools.py +0 -0
  59. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/hubspot_clearbit.py +0 -0
  60. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/hubspot_crm_tools.py +0 -0
  61. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/instantly_tools.py +0 -0
  62. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/linkedin_crawler.py +0 -0
  63. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/lusha_tools.py +0 -0
  64. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/mailgun_tools.py +0 -0
  65. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/microsoft365_tools.py +0 -0
  66. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openai_assistant_and_file_utils.py +0 -0
  67. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openai_helpers.py +0 -0
  68. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openapi_spec_to_tools.py +0 -0
  69. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openapi_tool/__init__.py +0 -0
  70. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openapi_tool/api_models.py +0 -0
  71. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openapi_tool/convert_openai_spec_to_tool.py +0 -0
  72. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/openapi_tool/openapi_tool.py +0 -0
  73. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/parse_linkedin_messages_txt.py +0 -0
  74. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/profile.py +0 -0
  75. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/proxy_curl_tools.py +0 -0
  76. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/proxycurl_search_leads.py +0 -0
  77. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/python_function_to_tools.py +0 -0
  78. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/research_lead.py +0 -0
  79. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/sales_navigator_crawler.py +0 -0
  80. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/salesforce_crm_tools.py +0 -0
  81. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/search_router.py +0 -0
  82. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/search_router_jobs.py +0 -0
  83. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/sendgrid_tools.py +0 -0
  84. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serarch_router_local_business.py +0 -0
  85. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serpapi_additional_tools.py +0 -0
  86. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serpapi_google_jobs.py +0 -0
  87. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serpapi_google_search.py +0 -0
  88. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serpapi_local_business_search.py +0 -0
  89. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serpapi_search_tools.py +0 -0
  90. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serperdev_google_jobs.py +0 -0
  91. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serperdev_local_business.py +0 -0
  92. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/serperdev_search.py +0 -0
  93. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/smtp_email_tools.py +0 -0
  94. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/trasform_json.py +0 -0
  95. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/web_download_parse_tools.py +0 -0
  96. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/workflow_code_model.py +0 -0
  97. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/utils/zoominfo_tools.py +0 -0
  98. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/workflow/__init__.py +0 -0
  99. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/workflow/agent.py +0 -0
  100. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/workflow/flow.py +0 -0
  101. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/workflow/task.py +0 -0
  102. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana/workflow/test.py +0 -0
  103. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana.egg-info/SOURCES.txt +0 -0
  104. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana.egg-info/dependency_links.txt +0 -0
  105. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana.egg-info/entry_points.txt +0 -0
  106. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana.egg-info/requires.txt +0 -0
  107. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/src/dhisana.egg-info/top_level.txt +0 -0
  108. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_agent_tools.py +0 -0
  109. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_apollo_company_search.py +0 -0
  110. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_apollo_lead_search.py +0 -0
  111. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_email_body_utils.py +0 -0
  112. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_google_document.py +0 -0
  113. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_hubspot_call_logs.py +0 -0
  114. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_linkedin_serper.py +0 -0
  115. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_mcp_connectivity.py +0 -0
  116. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_proxycurl_get_company_search_id.py +0 -0
  117. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/tests/test_proxycurl_job_count.py +0 -0
  118. {dhisana-0.0.1.dev237 → dhisana-0.0.1.dev239}/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.dev237
3
+ Version: 0.0.1.dev239
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-dev237',
5
+ version='0.0.1-dev239',
6
6
  description='A Python SDK for Dhisana AI Platform',
7
7
  author='Admin',
8
8
  author_email='contact@dhisana.ai',
@@ -650,6 +650,8 @@ async def search_leads_with_apollo(
650
650
  dynamic_payload["sort_by_field"] = query.sort_by_field
651
651
  if query.sort_ascending is not None:
652
652
  dynamic_payload["sort_ascending"] = query.sort_ascending
653
+ if query.person_seniorities:
654
+ dynamic_payload["person_seniorities"] = query.person_seniorities
653
655
 
654
656
  # -----------------------------
655
657
  # C) Fetch multiple pages
@@ -1646,6 +1646,49 @@ async def test_scarf(api_key: str) -> Dict[str, Any]:
1646
1646
  return {"success": False, "status_code": 0, "error_message": str(exc)}
1647
1647
 
1648
1648
 
1649
+ async def test_theorg(api_key: str) -> Dict[str, Any]:
1650
+ """Validate The Org API key by calling the Usage endpoint."""
1651
+ url = "https://api.theorg.com/v1.1/usage"
1652
+ headers = {
1653
+ "X-Api-Key": api_key,
1654
+ "Accept": "application/json",
1655
+ }
1656
+
1657
+ try:
1658
+ timeout = aiohttp.ClientTimeout(total=10)
1659
+ async with aiohttp.ClientSession(timeout=timeout) as session:
1660
+ async with session.get(url, headers=headers) as response:
1661
+ status = response.status
1662
+ data = await safe_json(response)
1663
+
1664
+ if status == 200:
1665
+ payload = data if isinstance(data, dict) else None
1666
+ usage = payload.get("data") if payload else None
1667
+ if isinstance(usage, dict):
1668
+ return {"success": True, "status_code": status, "error_message": None}
1669
+ return {
1670
+ "success": False,
1671
+ "status_code": status,
1672
+ "error_message": "The Org usage endpoint returned an unexpected payload.",
1673
+ }
1674
+
1675
+ message = None
1676
+ if isinstance(data, dict):
1677
+ message = (
1678
+ data.get("message")
1679
+ or data.get("error")
1680
+ or data.get("detail")
1681
+ )
1682
+ return {
1683
+ "success": False,
1684
+ "status_code": status,
1685
+ "error_message": message or f"The Org responded with {status}",
1686
+ }
1687
+ except Exception as exc:
1688
+ logger.error(f"The Org connectivity test failed: {exc}")
1689
+ return {"success": False, "status_code": 0, "error_message": str(exc)}
1690
+
1691
+
1649
1692
  ###############################################################################
1650
1693
  # DATAGMA CONNECTIVITY
1651
1694
  ###############################################################################
@@ -1739,6 +1782,7 @@ async def test_connectivity(tool_config: List[Dict[str, Any]]) -> Dict[str, Dict
1739
1782
  "nooks": test_nooks,
1740
1783
  "commonRoom": test_commonroom,
1741
1784
  "scarf": test_scarf,
1785
+ "theorg": test_theorg,
1742
1786
  "salesforce": test_salesforce,
1743
1787
  "clay": test_clay,
1744
1788
  "posthog": test_posthog,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev237
3
+ Version: 0.0.1.dev239
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
@@ -54,6 +54,22 @@ class TestConnectivity(unittest.TestCase):
54
54
  self.assertTrue(result['firefliesai']['success'])
55
55
  asyncio.run(runner())
56
56
 
57
+ def test_theorg_dispatch(self):
58
+ async def runner():
59
+ with patch('src.dhisana.utils.test_connect.test_theorg', new=AsyncMock(return_value={'success': True, 'status_code': 200, 'error_message': None})):
60
+ tool_config = [
61
+ {
62
+ 'name': 'theorg',
63
+ 'configuration': [
64
+ {'name': 'apiKey', 'value': 'dummy'}
65
+ ]
66
+ }
67
+ ]
68
+ result = await run_test_connectivity(tool_config)
69
+ self.assertIn('theorg', result)
70
+ self.assertTrue(result['theorg']['success'])
71
+ asyncio.run(runner())
72
+
57
73
  def test_salesforce_dispatch(self):
58
74
  async def runner():
59
75
  with patch(
File without changes
File without changes