dhisana 0.0.1.dev248__py3-none-any.whl → 0.0.1.dev249__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.
@@ -1485,7 +1485,7 @@ async def search_companies_with_apollo_page(
1485
1485
  # -----------------------------------
1486
1486
  else:
1487
1487
  dynamic_payload = {}
1488
-
1488
+
1489
1489
  # Only add fields if they have values (Apollo doesn't like empty arrays)
1490
1490
  if query.organization_locations:
1491
1491
  dynamic_payload["organization_locations"] = query.organization_locations
@@ -1505,19 +1505,37 @@ async def search_companies_with_apollo_page(
1505
1505
  dynamic_payload["organization_num_employees_ranges"] = employee_ranges
1506
1506
 
1507
1507
  # Add optional parameters only if they have values
1508
+ def _normalize_string_list(value: Any) -> List[str]:
1509
+ if value is None:
1510
+ return []
1511
+ if isinstance(value, str):
1512
+ return [part.strip() for part in value.split(",") if part.strip()]
1513
+ if isinstance(value, list):
1514
+ normalized: List[str] = []
1515
+ for item in value:
1516
+ if item is None:
1517
+ continue
1518
+ text = str(item).strip()
1519
+ if not text:
1520
+ continue
1521
+ normalized.extend([part.strip() for part in text.split(",") if part.strip()])
1522
+ return normalized
1523
+ text = str(value).strip()
1524
+ return [text] if text else []
1525
+
1508
1526
  if query.q_keywords:
1509
- # Split comma-separated keywords into an array for company search
1510
- if isinstance(query.q_keywords, str):
1511
- keyword_tags = [tag.strip() for tag in query.q_keywords.split(",") if tag.strip()]
1512
- else:
1513
- keyword_tags = query.q_keywords
1514
-
1515
- if query.q_organization_keyword_tags:
1516
- dynamic_payload["q_organization_keyword_tags"] = keyword_tags
1517
-
1518
- if query.q_not_organization_keyword_tags:
1519
- dynamic_payload["q_not_organization_keyword_tags"] = query.q_not_organization_keyword_tags
1520
-
1527
+ keywords = _normalize_string_list(query.q_keywords)
1528
+ if keywords:
1529
+ dynamic_payload["q_keywords"] = " ".join(keywords)
1530
+
1531
+ org_keyword_tags = _normalize_string_list(query.q_organization_keyword_tags)
1532
+ if org_keyword_tags:
1533
+ dynamic_payload["q_organization_keyword_tags"] = org_keyword_tags
1534
+
1535
+ not_org_keyword_tags = _normalize_string_list(query.q_not_organization_keyword_tags)
1536
+ if not_org_keyword_tags:
1537
+ dynamic_payload["q_not_organization_keyword_tags"] = not_org_keyword_tags
1538
+
1521
1539
  if query.q_organization_domains:
1522
1540
  dynamic_payload["q_organization_domains_list"] = query.q_organization_domains
1523
1541
  if query.revenue_range_min is not None:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dhisana
3
- Version: 0.0.1.dev248
3
+ Version: 0.0.1.dev249
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
@@ -12,7 +12,7 @@ dhisana/ui/components.py,sha256=4NXrAyl9tx2wWwoVYyABO-EOGnreGMvql1AkXWajIIo,1431
12
12
  dhisana/utils/__init__.py,sha256=jv2YF__bseklT3OWEzlqJ5qE24c4aWd5F4r0TTjOrWQ,65
13
13
  dhisana/utils/add_mapping.py,sha256=oq_QNqag86DhgdwINBRRXNx7SOb8Q9M-V0QLP6pTzr8,13837
14
14
  dhisana/utils/agent_tools.py,sha256=pzBFvfhU4wfSB4zv1eiRzjmnteJnfhC5V32r_v1m38Y,2321
15
- dhisana/utils/apollo_tools.py,sha256=i3PVY3vhiGUOTQ_GAOPXCwDyUcqkiV3DrCgo2ozRSeQ,66705
15
+ dhisana/utils/apollo_tools.py,sha256=_UDaYi_exIqe84z9Tdr1Qzn5cgYAZmK-aUwArTOTYp8,67436
16
16
  dhisana/utils/assistant_tool_tag.py,sha256=rYRl8ubLI7fUUIjg30XTefHBkFgRqNEVC12lF6U6Z-8,119
17
17
  dhisana/utils/built_with_api_tools.py,sha256=TFNGhnPb2vFdveVCpjiCvE1WKe_eK95UPpR0Ha5NgMQ,10260
18
18
  dhisana/utils/cache_output_tools.py,sha256=sSAruvUZn-WAJQ0lB9T1QjSmkm-_14AuxC9xKmcCQ0k,3428
@@ -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.dev248.dist-info/METADATA,sha256=B6n7vZSB3JheNeY9GWQ8DMaAGE9TKG9hzPyRILaq-xA,1190
99
- dhisana-0.0.1.dev248.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
- dhisana-0.0.1.dev248.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
101
- dhisana-0.0.1.dev248.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
102
- dhisana-0.0.1.dev248.dist-info/RECORD,,
98
+ dhisana-0.0.1.dev249.dist-info/METADATA,sha256=7jNYNMhElbz3HxRJiME1__0_1sRC_IIcFkb-RnpinYc,1190
99
+ dhisana-0.0.1.dev249.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
100
+ dhisana-0.0.1.dev249.dist-info/entry_points.txt,sha256=jujxteZmNI9EkEaK-pOCoWuBujU8TCevdkfl9ZcKHek,49
101
+ dhisana-0.0.1.dev249.dist-info/top_level.txt,sha256=NETTHt6YifG_P7XtRHbQiXZlgSFk9Qh9aR-ng1XTf4s,8
102
+ dhisana-0.0.1.dev249.dist-info/RECORD,,