heylead 0.10.331__tar.gz → 0.10.332__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.
- {heylead-0.10.331 → heylead-0.10.332}/PKG-INFO +1 -1
- {heylead-0.10.331 → heylead-0.10.332}/clawhub.json +1 -1
- {heylead-0.10.331 → heylead-0.10.332}/pyproject.toml +1 -1
- {heylead-0.10.331 → heylead-0.10.332}/server.json +2 -2
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/server.py +13 -1
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/brand_strategy.py +73 -2
- {heylead-0.10.331 → heylead-0.10.332}/.cursorrules +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/.github/workflows/publish.yml +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/.github/workflows/test.yml +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/.gitignore +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/AGENTS.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/Dockerfile +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/LICENSE +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/README.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/SKILL.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/clawhub/SKILL.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/clawhub/clawhub.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/AUDIT-2026-08.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/CLI_AND_DX_IMPROVEMENTS.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/EXPLICIT_IMPROVEMENT_PLAN.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/HANDOFF-2026-08-06.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/QUALITY_AND_SATISFACTION_ASSESSMENT.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/TOOL_TEST_REPORT.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/USER_STORY_TEST.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/product-listing-copy.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/plans/2026-08-07-cloud-sync-push.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/00-shared-context.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/01-first-degree-client.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/02-first-degree-backend-dashboard.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/03-duplicate-sends-hardening.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/04-reply-context-backend.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/05-reply-context-client.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/06-decision-maker-targeting.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/07-kb-port-and-goal-icp-match.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/08-stop-feedback-learning-loop.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/README.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-08-23-premium-mixed-outreach-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-08-23-unanswered-lead-alerts-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-08-campaign-prospect-provenance-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-edit-campaign-agent-flags-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-host-ops-playbook-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-hot-lead-closer-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-icp-research-agent-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-inspect-agent-ops-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-inspect-jobs-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-reply-exception-agent-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-strategist-replan-agent-design.md +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/llms-full.txt +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/llms.txt +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/find_query_contracts.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/fix_stuck_prospects.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/reactivate_existing_network.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/rekey_unipile_account.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/release.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/seed_shared_directory.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/scripts/test_reaction_live.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/smithery.yaml +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/__main__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/agent_loop.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/brand_strategist.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/brief_builder.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/comment_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/context_summarizer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/draft_guard.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/email_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/embeddings.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/evidence.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/followup_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/followup_schemas.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/hot_lead_closer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/hume_client.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/hume_voice.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/icp_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/icp_generator_v2.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/icp_pipeline.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/icp_research.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/icp_schemas.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/inbound_qualifier.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/ingestion/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/ingestion/chunker.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/ingestion/crawler.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/ingestion/store.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/intent.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/length_fixer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/linkedin_enricher.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/llm.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/llm_router.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/llm_validator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/memory_extractor.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/memory_formatter.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/message_fixer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/message_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/message_improver.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/message_validator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/news_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/persona_cards.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/post_analyzer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/prompt_loader.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/prospect_analyzer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/referral_extractor.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/reply_agent.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/reply_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/reply_pipeline.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/schemas.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/sentiment.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/signal_classifier.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/strategist_prompts.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/strategist_replan.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/strategy_prompts.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/targeting_recheck.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/vector_search.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/voice_analyzer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ai/voice_memo_generator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/author_identity.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/cli/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/cli/log_analyzer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/comment_mining_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/company_follower_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/company_page_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/competitor_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/distributed_post_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/hiring_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/job_change_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/keyword_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/network_post_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/news_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/post_intent_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/profile_view_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/prospect_post_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/collectors/watchlist_web_collector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/config.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/constants.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/correlation.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/daemon.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/brazil.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/france.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/germany.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/india.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/mexico.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/nigeria.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/philippines.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/poland.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/ukraine.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/united_kingdom.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/data/country_signals/vietnam.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/aio.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/async_bridge.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/backup.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/connection_queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/global_contact_queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/post_queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/schema.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/signal_queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/strategist_queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/db/strategy_queries.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/flags.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/formatter.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/guardrails.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/api_metrics.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/backend_client.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/chat_lookup_cache.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/circuit_breaker.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/experience.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/messaging.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/profile.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/profile_normalize.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/rate_limiter.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/relations.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/search.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/search_traffic.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/unipile.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/linkedin/voyager_health.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/logging_setup.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/ops_log.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/comment_main.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/filter_candidates.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_fix.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_message.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_message_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_news.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_reasoning.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_reasoning_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_validate.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/followup_validate_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/fragments/voice_rules.txt +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/message_fix.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/message_improve.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_inmail.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_inmail_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_invitation.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_invitation_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_job_search.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_response.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_response_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_system.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_system_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_system_partner.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_system_recruit.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_validate.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/outreach_validate_buy.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/prospect_analysis.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/prompts/voice_analysis.json +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/engine.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/enqueue_gate.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/executors.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/leader.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/planner.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/scheduler/trace.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/action_health.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/action_timeline.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/action_verifier.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/anomaly_detector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/brand_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/calendar_booker.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/campaign_optimizer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/campaign_refill_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/campaign_spawner.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/channel_selector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/cloud_sync.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/communication_strategist.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/company_name.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/connection_sync.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/conversation_enricher.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/daily_digest.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/dedup_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/directory_card.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/dm_connection_guard.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/engagement_verifier.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/experiment_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/fit_gate.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/health_score.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/hot_lead_closer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/hubspot_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/icp_match_scorer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/icp_research.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/icp_search.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/inbound_helpers.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/inbound_pipeline.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/inbound_policy.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/inbound_relationship.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/inbound_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/inbox_match.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/intent_signals.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/live_thread_enroll.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/outreach_channel.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/own_identity.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/own_profile_sync.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/pattern_detector.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/post_research_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/process_caches.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/profile_signals.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/project_brief.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/prospect_email.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/prospect_timezone.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/provider_id_repair.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/provider_id_resolver.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/recover_stuck_outreaches.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/referral_enroll.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/reply_agent.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/revenue_estimator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/search_account_resolver.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/seed_shared_directory.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/session_health.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/signal_activator.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/signal_analytics.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/signal_linker.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/signal_optimizer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/signal_scorer.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/signal_service.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/strategist_replan.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/strategy_engine.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/tabular_reader.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/timezone_resolver.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/unanswered_lead_alerts.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/services/unipile_email.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/textutil.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tier.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/timeutil.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/__init__.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/account.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/analytics.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/archive_campaign.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/backfill_inbox.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/book_meeting.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/campaign.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/campaign_control.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/campaign_report.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/check_replies.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/close_outreach.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/compare_campaigns.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/contacts.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/create_campaign.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/create_post.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/crm_sync.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/delete_campaign.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/delete_message.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/dismiss_lead.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/edit_campaign.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/emergency_stop.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/engage_prospect.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/experiment_loop.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/export_campaign.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/generate_icp.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/generate_send.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/icp.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/import_prospects.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/inbox.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/inspect.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/manage_watchlist.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/network.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/organization.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/partner_followup.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/profile_editor.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/profile_history.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/profile_signals.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/prospect.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/prospect_timeline.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/reply_to_prospect.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/retry_failed.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/scheduler.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/scheduler_status.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/send_email.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/send_followup.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/send_inmail.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/send_message.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/send_voice_memo.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/setup_profile.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/show_conversation.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/show_signals.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/show_status.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/show_strategy.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/signal_report.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/signals.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/skip_prospect.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/suggest_next_action.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/switch_account.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tools/unlink_account.py +0 -0
- {heylead-0.10.331 → heylead-0.10.332}/src/heylead/tracing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: heylead
|
|
3
|
-
Version: 0.10.
|
|
3
|
+
Version: 0.10.332
|
|
4
4
|
Summary: MCP-native autonomous LinkedIn SDR. Your AI sales rep, one command to fill your pipeline.
|
|
5
5
|
Project-URL: Homepage, https://github.com/D4umak/heylead
|
|
6
6
|
Project-URL: Repository, https://github.com/D4umak/heylead
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "io.github.D4umak/heylead",
|
|
4
4
|
"title": "HeyLead \u2014 Autonomous LinkedIn SDR",
|
|
5
5
|
"description": "Autonomous LinkedIn SDR \u2014 voice-matched outreach, ICP generation, and campaign management.",
|
|
6
|
-
"version": "0.10.
|
|
6
|
+
"version": "0.10.332",
|
|
7
7
|
"websiteUrl": "https://github.com/D4umak/heylead",
|
|
8
8
|
"repository": {
|
|
9
9
|
"url": "https://github.com/D4umak/heylead",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
{
|
|
14
14
|
"registryType": "pypi",
|
|
15
15
|
"identifier": "heylead",
|
|
16
|
-
"version": "0.10.
|
|
16
|
+
"version": "0.10.332",
|
|
17
17
|
"runtimeHint": "uvx",
|
|
18
18
|
"transport": {
|
|
19
19
|
"type": "stdio"
|
|
@@ -28,6 +28,15 @@ from .ops_log import run_traced
|
|
|
28
28
|
_CHANGELOG = """\
|
|
29
29
|
# HeyLead Changelog
|
|
30
30
|
|
|
31
|
+
## v0.10.332 (2026-09-09)
|
|
32
|
+
- New: brand_strategy(action="set_headline", focus="...") sets the LinkedIn
|
|
33
|
+
headline to exactly the text you pass. execute and makeover both write a
|
|
34
|
+
model-generated headline, and the headline A/B test is off, so a headline
|
|
35
|
+
you had already decided on could not be applied from HeyLead at all. The
|
|
36
|
+
write goes through the normal profile-change path, so it is logged and
|
|
37
|
+
restorable with profile(action="restore"), and it is refused over the
|
|
38
|
+
220-character LinkedIn limit instead of being silently clipped (#263)
|
|
39
|
+
|
|
31
40
|
## v0.10.331 (2026-09-09)
|
|
32
41
|
- New: edit_campaign can turn the reply, strategist, and closer agents
|
|
33
42
|
to act, off, or observe. Hosts no longer have to invent those kwargs
|
|
@@ -2453,8 +2462,11 @@ async def brand_strategy(
|
|
|
2453
2462
|
"upload_photo" — Upload a profile photo (provide file_path or base64 data)
|
|
2454
2463
|
"upload_cover" — Upload a cover/banner photo (same input as upload_photo)
|
|
2455
2464
|
"set_link" — Set custom CTA link on profile (pass URL via focus param)
|
|
2465
|
+
"set_headline" — Set the headline to exact text (pass the headline via focus).
|
|
2466
|
+
Use this when the user has already decided the wording; "execute" and
|
|
2467
|
+
"makeover" write a model-generated headline instead.
|
|
2456
2468
|
focus: Focus area for analyze/plan ("headline", "summary", "content", "engagement", ""),
|
|
2457
|
-
|
|
2469
|
+
URL string for set_link, or the literal headline text for set_headline.
|
|
2458
2470
|
photo: File path or base64-encoded image for upload_photo / upload_cover actions.
|
|
2459
2471
|
"""
|
|
2460
2472
|
from .tools.brand_strategy import run_brand_strategy
|
|
@@ -46,6 +46,9 @@ from ..db.async_bridge import run_db
|
|
|
46
46
|
|
|
47
47
|
logger = logging.getLogger(__name__)
|
|
48
48
|
|
|
49
|
+
# LinkedIn truncates a headline past this, so refuse rather than silently clip.
|
|
50
|
+
HEADLINE_MAX_CHARS = 220
|
|
51
|
+
|
|
49
52
|
|
|
50
53
|
async def run_brand_strategy(
|
|
51
54
|
action: str = "analyze",
|
|
@@ -80,6 +83,8 @@ async def run_brand_strategy(
|
|
|
80
83
|
return await _handle_upload_cover(account_id, photo)
|
|
81
84
|
elif action == "set_link":
|
|
82
85
|
return await _handle_set_link(account_id, focus)
|
|
86
|
+
elif action == "set_headline":
|
|
87
|
+
return await _handle_set_headline(account_id, focus)
|
|
83
88
|
elif action == "makeover":
|
|
84
89
|
return await _handle_makeover(account_id)
|
|
85
90
|
elif action == "photo_enhance":
|
|
@@ -98,6 +103,7 @@ async def run_brand_strategy(
|
|
|
98
103
|
' brand_strategy(action="upload_photo") — Upload profile photo\n'
|
|
99
104
|
' brand_strategy(action="upload_cover") — Upload cover photo\n'
|
|
100
105
|
' brand_strategy(action="set_link", focus="https://...") — Set custom CTA link\n'
|
|
106
|
+
' brand_strategy(action="set_headline", focus="Your exact headline") — Set the headline verbatim\n'
|
|
101
107
|
' brand_strategy(action="makeover") — One-click full profile optimization\n'
|
|
102
108
|
' brand_strategy(action="photo_enhance") — Auto-enhance profile photo settings\n'
|
|
103
109
|
' brand_strategy(action="test_headline", focus="Variant A | Variant B") — Start headline A/B test\n'
|
|
@@ -1415,6 +1421,70 @@ async def _handle_set_link(account_id: str, url: str) -> str:
|
|
|
1415
1421
|
return f"Failed to set custom link: {e}"
|
|
1416
1422
|
|
|
1417
1423
|
|
|
1424
|
+
async def _handle_set_headline(account_id: str, text: str) -> str:
|
|
1425
|
+
"""Set the headline to exactly *text*.
|
|
1426
|
+
|
|
1427
|
+
``execute`` and ``makeover`` write a model-generated headline. This
|
|
1428
|
+
writes the words the user chose, unchanged, so a headline decided
|
|
1429
|
+
outside HeyLead does not have to be pasted into LinkedIn by hand.
|
|
1430
|
+
"""
|
|
1431
|
+
profile = await run_db(get_setting, "profile", {})
|
|
1432
|
+
current = profile.get("headline", "") or "(not set)"
|
|
1433
|
+
|
|
1434
|
+
headline = (text or "").strip()
|
|
1435
|
+
if not headline:
|
|
1436
|
+
return (
|
|
1437
|
+
"Set your LinkedIn headline to exact text:\n\n"
|
|
1438
|
+
' brand_strategy(action="set_headline", focus="Your exact headline")\n\n'
|
|
1439
|
+
f" Current: {current}\n\n"
|
|
1440
|
+
f"The text is written verbatim, up to {HEADLINE_MAX_CHARS} characters.\n"
|
|
1441
|
+
'For a generated headline instead, use brand_strategy(action="makeover").'
|
|
1442
|
+
)
|
|
1443
|
+
|
|
1444
|
+
if len(headline) > HEADLINE_MAX_CHARS:
|
|
1445
|
+
return (
|
|
1446
|
+
f"Headline is {len(headline)} characters, over the LinkedIn limit "
|
|
1447
|
+
f"of {HEADLINE_MAX_CHARS}.\n\n"
|
|
1448
|
+
f"Trim {len(headline) - HEADLINE_MAX_CHARS} characters and try again. "
|
|
1449
|
+
"Nothing was changed."
|
|
1450
|
+
)
|
|
1451
|
+
|
|
1452
|
+
if headline == (profile.get("headline") or ""):
|
|
1453
|
+
return f"Headline is already:\n\n {headline}\n\nNothing to change."
|
|
1454
|
+
|
|
1455
|
+
from .profile_editor import apply_profile_change
|
|
1456
|
+
|
|
1457
|
+
provider_id = profile.get("provider_id", "")
|
|
1458
|
+
|
|
1459
|
+
try:
|
|
1460
|
+
client = get_linkedin_client()
|
|
1461
|
+
result = await apply_profile_change(
|
|
1462
|
+
client, account_id, provider_id, "headline", headline,
|
|
1463
|
+
source="brand_strategy",
|
|
1464
|
+
)
|
|
1465
|
+
await client.close()
|
|
1466
|
+
except Exception as e:
|
|
1467
|
+
return f"Failed to set headline: {e}"
|
|
1468
|
+
|
|
1469
|
+
if not result.get("success"):
|
|
1470
|
+
error = result.get("error", "Unknown error")
|
|
1471
|
+
return f"Failed to set headline: {error}"
|
|
1472
|
+
|
|
1473
|
+
await run_db(
|
|
1474
|
+
log_action,
|
|
1475
|
+
"brand_headline_set",
|
|
1476
|
+
details={"headline": headline, "previous": current},
|
|
1477
|
+
)
|
|
1478
|
+
return (
|
|
1479
|
+
"Headline updated.\n\n"
|
|
1480
|
+
f" Before: {current}\n"
|
|
1481
|
+
f" After: {headline}\n\n"
|
|
1482
|
+
f" {len(headline)}/{HEADLINE_MAX_CHARS} characters\n\n"
|
|
1483
|
+
'Roll back with profile(action="history", field="headline") '
|
|
1484
|
+
'then profile(action="restore", change_id="...").'
|
|
1485
|
+
)
|
|
1486
|
+
|
|
1487
|
+
|
|
1418
1488
|
async def _compute_current_health(ssi_data: dict[str, Any], campaign_stats: dict[str, Any]):
|
|
1419
1489
|
"""Compute current health score from available data."""
|
|
1420
1490
|
daily_record = await run_db(get_rate_limit_today)
|
|
@@ -1697,8 +1767,9 @@ async def _handle_test_headline(focus: str) -> str:
|
|
|
1697
1767
|
"The test could not attribute an invitation to the headline it went "
|
|
1698
1768
|
"out under, so it changed your real LinkedIn headline without ever "
|
|
1699
1769
|
"being able to compare the two variants.\n\n"
|
|
1700
|
-
"Your headline is untouched.
|
|
1701
|
-
'brand_strategy(action="
|
|
1770
|
+
"Your headline is untouched. Set it directly with "
|
|
1771
|
+
'brand_strategy(action="set_headline", focus="...") for exact text, '
|
|
1772
|
+
'or brand_strategy(action="makeover") for a generated one.'
|
|
1702
1773
|
)
|
|
1703
1774
|
|
|
1704
1775
|
if not focus or "|" not in focus:
|
|
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
|
{heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/prompts/2026-09-09-quontex-feedback/README.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-host-ops-playbook-design.md
RENAMED
|
File without changes
|
{heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-hot-lead-closer-design.md
RENAMED
|
File without changes
|
{heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-icp-research-agent-design.md
RENAMED
|
File without changes
|
{heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-inspect-agent-ops-design.md
RENAMED
|
File without changes
|
{heylead-0.10.331 → heylead-0.10.332}/docs/superpowers/specs/2026-09-09-inspect-jobs-design.md
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
|
|
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
|
|
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
|
|
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
|