dhisana 0.0.1.dev26__tar.gz → 0.0.1.dev28__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.dev26 → dhisana-0.0.1.dev28}/PKG-INFO +1 -1
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/setup.py +1 -1
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/schemas/sales.py +1 -1
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/compose_cadence.py +2 -2
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/compose_workflow.py +2 -2
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/sales_navigator_crawler.py +3 -3
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana.egg-info/PKG-INFO +1 -1
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/README.md +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/pyproject.toml +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/setup.cfg +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/cli/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/cli/cli.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/cli/datasets.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/cli/models.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/cli/predictions.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/schemas/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/schemas/common.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/ui/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/ui/components.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/agent_task.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/agent_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/apollo_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/assistant_tool_tag.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/built_with_api_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/cache_output_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/check_email_validity_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/check_for_intent_signal.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/check_linkedin_url_validity.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/clay_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/company_utils.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/compose_salesnav_query.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/compose_search_query.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/compose_three_step_workflow.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/composite_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/create_list_from_sales_navigator.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/create_smart_list.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/dataframe_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/domain_parser.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/enrich_lead_information.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/extract_email_content_for_llm.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/g2_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_content.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_email.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_email_response.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_flow.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_linkedin_connect_message.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_linkedin_response_message.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_structured_output_internal.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/google_custom_search.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/google_workspace_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/hubspot_clearbit.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/hubspot_crm_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/instantly_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/linkedin_crawler.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/lusha_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openai_assistant_and_file_utils.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openai_helpers.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openapi_spec_to_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openapi_tool/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openapi_tool/api_models.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openapi_tool/convert_openai_spec_to_tool.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/openapi_tool/openapi_tool.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/proxy_curl_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/python_function_to_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/research_lead.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/salesforce_crm_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/sendgrid_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/serpapi_search_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/trasform_json.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/web_download_parse_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/workflow_code_model.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/zoominfo_tools.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/workflow/__init__.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/workflow/agent.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/workflow/flow.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/workflow/task.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/workflow/test.py +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana.egg-info/SOURCES.txt +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana.egg-info/dependency_links.txt +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana.egg-info/entry_points.txt +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana.egg-info/requires.txt +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana.egg-info/top_level.txt +0 -0
- {dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/tests/test_agent_tools.py +0 -0
|
@@ -113,7 +113,7 @@ class SendRules(BaseModel):
|
|
|
113
113
|
|
|
114
114
|
class Touch(BaseModel):
|
|
115
115
|
type: str # e.g. 'email', 'linkedin', ...
|
|
116
|
-
action: str # e.g. '
|
|
116
|
+
action: str # e.g. 'view_linkedin_profile', 'send_connection_request'
|
|
117
117
|
details: str
|
|
118
118
|
delay_days: int
|
|
119
119
|
template_id: Optional[str] = None
|
|
@@ -30,7 +30,7 @@ async def generate_code_for_campaign_cadence(
|
|
|
30
30
|
" async def run_campaing_cadence(input_leads, campaign_context, tool_config) -> str\n"
|
|
31
31
|
"The function should iterate over 'input_leads' and perform the required LinkedIn actions via execute_task. "
|
|
32
32
|
"Valid commands include: "
|
|
33
|
-
"
|
|
33
|
+
" view_linkedin_profile, send_connection_request, like_recent_post, send_linkedin_message, get_current_messages, save_lead.\n"
|
|
34
34
|
"Return 'SUCCESS' or 'ERROR' as a string."
|
|
35
35
|
)
|
|
36
36
|
|
|
@@ -64,7 +64,7 @@ async def generate_code_for_campaign_cadence(
|
|
|
64
64
|
# View profiles
|
|
65
65
|
for lead in input_leads[:MAX_ACTIONS["view_profile"]]:
|
|
66
66
|
await execute_task(
|
|
67
|
-
command_name="
|
|
67
|
+
command_name="view_linkedin_profile",
|
|
68
68
|
command_args={"user_linkedin_salesnav_url": lead.get("user_linkedin_salesnav_url")},
|
|
69
69
|
tool_config=tool_config
|
|
70
70
|
)
|
|
@@ -38,7 +38,7 @@ async def generate_workflow_code(
|
|
|
38
38
|
)
|
|
39
39
|
|
|
40
40
|
commands_supported = [
|
|
41
|
-
"
|
|
41
|
+
"view_linkedin_profile",
|
|
42
42
|
"send_connection_request",
|
|
43
43
|
"like_recent_post",
|
|
44
44
|
"send_linkedin_message",
|
|
@@ -133,7 +133,7 @@ async def custom_workflow(tool_config):
|
|
|
133
133
|
|
|
134
134
|
for lead in qualified_leads[:MAX_ACTIONS["view_profile"]]:
|
|
135
135
|
await execute_task(
|
|
136
|
-
command_name="
|
|
136
|
+
command_name="view_linkedin_profile",
|
|
137
137
|
command_args={"user_linkedin_salesnav_url": lead.get("user_linkedin_salesnav_url")},
|
|
138
138
|
tool_config=tool_config
|
|
139
139
|
)
|
|
@@ -158,7 +158,7 @@ async def send_connection_request(page: Page, command_args: Dict[str, Any]) -> D
|
|
|
158
158
|
|
|
159
159
|
return {"status": "SUCCESS", "message": "Connection requested successfully"}
|
|
160
160
|
|
|
161
|
-
async def
|
|
161
|
+
async def view_linkedin_profile(page: Page, command_args: Dict[str, Any]) -> Dict[str, Any]:
|
|
162
162
|
await goto_url(page, command_args)
|
|
163
163
|
if "/sales/lead/" not in page.url:
|
|
164
164
|
return {"status": "ERROR", "message": "Not a sales lead page"}
|
|
@@ -785,7 +785,7 @@ async def health_check(command_args: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
785
785
|
|
|
786
786
|
command_to_function_mapping = {
|
|
787
787
|
"navigate_to_url": navigate_to_url,
|
|
788
|
-
"
|
|
788
|
+
"view_linkedin_profile": view_linkedin_profile,
|
|
789
789
|
"send_connection_request": send_connection_request,
|
|
790
790
|
"send_linkedin_message": send_linkedin_message,
|
|
791
791
|
"get_current_messages": get_current_messages,
|
|
@@ -986,7 +986,7 @@ def check_and_update_throttling_limits(task: Dict[str, Any]) -> Dict[str, Any]:
|
|
|
986
986
|
# Defined limits
|
|
987
987
|
daily_limits = {
|
|
988
988
|
"send_connection_request": 10,
|
|
989
|
-
"
|
|
989
|
+
"view_linkedin_profile": 500,
|
|
990
990
|
"navigate_to_url": 500,
|
|
991
991
|
"like_recent_post": 10,
|
|
992
992
|
"send_linkedin_message": 10
|
|
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
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/check_linkedin_url_validity.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/compose_three_step_workflow.py
RENAMED
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/create_list_from_sales_navigator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/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
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_linkedin_connect_message.py
RENAMED
|
File without changes
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_linkedin_response_message.py
RENAMED
|
File without changes
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/src/dhisana/utils/generate_structured_output_internal.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
|
{dhisana-0.0.1.dev26 → dhisana-0.0.1.dev28}/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
|
|
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
|