dhisana 0.0.1.dev216__tar.gz → 0.0.1.dev218__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.
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/PKG-INFO +1 -1
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/setup.py +1 -1
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/schemas/sales.py +1 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana.egg-info/PKG-INFO +1 -1
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/README.md +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/pyproject.toml +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/setup.cfg +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/cli/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/cli/cli.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/cli/datasets.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/cli/models.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/cli/predictions.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/schemas/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/schemas/common.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/ui/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/ui/components.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/add_mapping.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/agent_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/apollo_tools.py +10 -10
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/assistant_tool_tag.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/built_with_api_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/cache_output_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/cache_output_tools_local.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/check_email_validity_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/check_for_intent_signal.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/check_linkedin_url_validity.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/clay_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/clean_properties.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/company_utils.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/compose_salesnav_query.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/compose_search_query.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/compose_three_step_workflow.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/composite_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/dataframe_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/domain_parser.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/email_parse_helpers.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/email_provider.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/enrich_lead_information.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/extract_email_content_for_llm.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/fetch_openai_config.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/field_validators.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/g2_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_content.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_email.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_email_response.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_flow.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_leads_salesnav.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_linkedin_connect_message.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_linkedin_response_message.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_structured_output_internal.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/google_custom_search.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/google_oauth_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/google_workspace_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/hubspot_clearbit.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/hubspot_crm_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/instantly_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/linkedin_crawler.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/lusha_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/mailgun_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/microsoft365_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openai_assistant_and_file_utils.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openai_helpers.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openapi_spec_to_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openapi_tool/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openapi_tool/api_models.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openapi_tool/convert_openai_spec_to_tool.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openapi_tool/openapi_tool.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/parse_linkedin_messages_txt.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/profile.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/proxy_curl_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/proxycurl_search_leads.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/python_function_to_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/research_lead.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/sales_navigator_crawler.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/salesforce_crm_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/search_router.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/search_router_jobs.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/sendgrid_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serarch_router_local_business.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serpapi_additional_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serpapi_google_jobs.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serpapi_google_search.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serpapi_local_business_search.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serpapi_search_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serperdev_google_jobs.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serperdev_local_business.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serperdev_search.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/smtp_email_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/test_connect.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/trasform_json.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/web_download_parse_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/workflow_code_model.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/zoominfo_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/workflow/__init__.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/workflow/agent.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/workflow/flow.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/workflow/task.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/workflow/test.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana.egg-info/SOURCES.txt +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana.egg-info/dependency_links.txt +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana.egg-info/entry_points.txt +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana.egg-info/requires.txt +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana.egg-info/top_level.txt +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_agent_tools.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_apollo_company_search.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_connectivity.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_google_document.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_hubspot_call_logs.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_linkedin_serper.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_mcp_connectivity.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_proxycurl_get_company_search_id.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_proxycurl_job_count.py +0 -0
- {dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/tests/test_structured_output_with_mcp.py +0 -0
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -395,16 +395,6 @@ def fill_in_properties_with_preference(input_user_properties: dict, person_data:
|
|
|
395
395
|
"""Returns True if the value is None, empty string, or only whitespace."""
|
|
396
396
|
return value is None or (isinstance(value, str) and not value.strip())
|
|
397
397
|
|
|
398
|
-
# Email
|
|
399
|
-
if is_empty(input_user_properties.get("email")):
|
|
400
|
-
input_user_properties["email"] = person_data.get("email", "")
|
|
401
|
-
|
|
402
|
-
# Phone
|
|
403
|
-
if is_empty(input_user_properties.get("phone")):
|
|
404
|
-
# person_data["contact"] might not be defined, so we chain get calls
|
|
405
|
-
input_user_properties["phone"] = ((person_data.get("contact", {}) or {})
|
|
406
|
-
.get("sanitized_phone", ""))
|
|
407
|
-
|
|
408
398
|
# Full name
|
|
409
399
|
# Because `person_data.get("name")` has precedence over input_user_properties,
|
|
410
400
|
# we only update it if input_user_properties is empty/None for "full_name".
|
|
@@ -419,6 +409,16 @@ def fill_in_properties_with_preference(input_user_properties: dict, person_data:
|
|
|
419
409
|
if is_empty(input_user_properties.get("last_name")) and person_data.get("last_name"):
|
|
420
410
|
input_user_properties["last_name"] = person_data["last_name"]
|
|
421
411
|
|
|
412
|
+
# Email
|
|
413
|
+
if is_empty(input_user_properties.get("email")):
|
|
414
|
+
input_user_properties["email"] = person_data.get("email", "")
|
|
415
|
+
|
|
416
|
+
# Phone
|
|
417
|
+
if is_empty(input_user_properties.get("phone")):
|
|
418
|
+
# person_data["contact"] might not be defined, so we chain get calls
|
|
419
|
+
input_user_properties["phone"] = ((person_data.get("contact", {}) or {})
|
|
420
|
+
.get("sanitized_phone", ""))
|
|
421
|
+
|
|
422
422
|
# LinkedIn URL
|
|
423
423
|
if is_empty(input_user_properties.get("user_linkedin_url")) and person_data.get("linkedin_url"):
|
|
424
424
|
input_user_properties["user_linkedin_url"] = person_data["linkedin_url"]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/check_email_validity_tools.py
RENAMED
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/check_linkedin_url_validity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/compose_three_step_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/extract_email_content_for_llm.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/generate_linkedin_connect_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openai_assistant_and_file_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/openapi_tool/openapi_tool.py
RENAMED
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/parse_linkedin_messages_txt.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serarch_router_local_business.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev216 → dhisana-0.0.1.dev218}/src/dhisana/utils/serpapi_local_business_search.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|