fusesell 1.2.0__tar.gz → 1.2.2__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.

Potentially problematic release.


This version of fusesell might be problematic. Click here for more details.

Files changed (43) hide show
  1. {fusesell-1.2.0 → fusesell-1.2.2}/CHANGELOG.md +60 -43
  2. {fusesell-1.2.0/fusesell.egg-info → fusesell-1.2.2}/PKG-INFO +94 -86
  3. {fusesell-1.2.0 → fusesell-1.2.2}/README.md +126 -118
  4. {fusesell-1.2.0 → fusesell-1.2.2/fusesell.egg-info}/PKG-INFO +94 -86
  5. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/SOURCES.txt +4 -0
  6. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.py +6 -1
  7. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/__init__.py +37 -37
  8. fusesell-1.2.2/fusesell_local/tests/conftest.py +11 -0
  9. fusesell-1.2.2/fusesell_local/tests/test_data_manager_products.py +74 -0
  10. fusesell-1.2.2/fusesell_local/tests/test_data_manager_sales_process.py +115 -0
  11. fusesell-1.2.2/fusesell_local/tests/test_data_manager_teams.py +133 -0
  12. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/data_manager.py +95 -67
  13. {fusesell-1.2.0 → fusesell-1.2.2}/pyproject.toml +74 -74
  14. {fusesell-1.2.0 → fusesell-1.2.2}/LICENSE +0 -0
  15. {fusesell-1.2.0 → fusesell-1.2.2}/MANIFEST.in +0 -0
  16. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/dependency_links.txt +0 -0
  17. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/entry_points.txt +0 -0
  18. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/requires.txt +0 -0
  19. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/top_level.txt +0 -0
  20. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/api.py +0 -0
  21. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/cli.py +0 -0
  22. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/config/__init__.py +0 -0
  23. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/config/prompts.py +0 -0
  24. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/config/settings.py +0 -0
  25. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/pipeline.py +0 -0
  26. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/__init__.py +0 -0
  27. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/base_stage.py +0 -0
  28. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/data_acquisition.py +0 -0
  29. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/data_preparation.py +0 -0
  30. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/follow_up.py +0 -0
  31. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/initial_outreach.py +0 -0
  32. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/lead_scoring.py +0 -0
  33. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/tests/test_api.py +0 -0
  34. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/tests/test_cli.py +0 -0
  35. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/__init__.py +0 -0
  36. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/birthday_email_manager.py +0 -0
  37. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/event_scheduler.py +0 -0
  38. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/llm_client.py +0 -0
  39. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/logger.py +0 -0
  40. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/timezone_detector.py +0 -0
  41. {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/validators.py +0 -0
  42. {fusesell-1.2.0 → fusesell-1.2.2}/requirements.txt +0 -0
  43. {fusesell-1.2.0 → fusesell-1.2.2}/setup.cfg +0 -0
@@ -2,37 +2,54 @@
2
2
 
3
3
  All notable changes to FuseSell Local will be documented in this file.
4
4
 
5
- ## [1.2.0] - 2025-10-20
5
+ # [1.2.2] - 2025-10-21
6
6
 
7
7
  ### Added
8
- - Packaged CLI access via `FuseSellCLI` export to support embedded runtimes and automated tests.
9
- - pytest coverage (`fusesell_local/tests/test_cli.py`) ensuring the CLI dry-run path remains stable.
10
-
11
- ### Changed
12
- - Distribution renamed to `fusesell` to align with upcoming PyPI publication; console entry point now resolves to `fusesell_local.cli:main`.
13
- - CLI implementation moved into `fusesell_local/cli.py`, with top-level `fusesell.py` delegating for backward compatibility.
14
- - Documentation refreshed to instruct `pip install fusesell` and demonstrate programmatic CLI reuse.
8
+ - LocalDataManager regression tests covering product/team CRUD flows and sales process tracking helpers.
15
9
 
16
10
  ### Fixed
17
- - Ensured package metadata includes the CLI module so installations via pip expose the `fusesell` console script.
18
-
19
- ## [1.1.0] - 2025-10-20
20
-
21
- ### Added
22
- - Library-first API (`fusesell_local.api`) exposing `build_config`, `execute_pipeline`, and supporting helpers for embedding FuseSell in external runtimes.
23
- - Public exports in `fusesell_local.__init__` so consumers can import `FuseSellPipeline` and the new helpers directly.
24
- - Programmatic configuration validation error (`ConfigValidationError`) for clearer failures in host applications.
11
+ - Default team settings seeding now targets the `gs_team_*` columns, preventing initialization failures on fresh databases.
12
+
13
+ # [1.2.1] - 2025-10-21
25
14
 
26
15
  ### Changed
27
- - CLI now delegates configuration/build/validation/logging to the shared library utilities, ensuring consistent behaviour across CLI and embedded usage.
28
- - Pipeline context now forwards scheduling preferences (timezone, send_immediately, business hour fields) from configuration to stages.
16
+ - Expose `__version__`, `__author__`, and `__description__` at the top-level `fusesell` module for easier runtime inspection.
29
17
 
30
18
  ### Fixed
31
- - Continuation validation correctly requires `selected_draft_id` when performing `draft_rewrite` or `send` actions.
19
+ - `import fusesell; fusesell.__version__` now reports the installed version instead of `unknown`.
32
20
 
33
- ## [1.0.0] - 2025-01-07
21
+ ## [1.2.0] - 2025-10-20
34
22
 
35
- ### Added - Core Infrastructure Complete
23
+ ### Added
24
+ - Packaged CLI access via `FuseSellCLI` export to support embedded runtimes and automated tests.
25
+ - pytest coverage (`fusesell_local/tests/test_cli.py`) ensuring the CLI dry-run path remains stable.
26
+
27
+ ### Changed
28
+ - Distribution renamed to `fusesell` to align with upcoming PyPI publication; console entry point now resolves to `fusesell_local.cli:main`.
29
+ - CLI implementation moved into `fusesell_local/cli.py`, with top-level `fusesell.py` delegating for backward compatibility.
30
+ - Documentation refreshed to instruct `pip install fusesell` and demonstrate programmatic CLI reuse.
31
+ - Published version `1.2.0` to PyPI under the `fusesell` distribution name.
32
+
33
+ ### Fixed
34
+ - Ensured package metadata includes the CLI module so installations via pip expose the `fusesell` console script.
35
+
36
+ ## [1.1.0] - 2025-10-20
37
+
38
+ ### Added
39
+ - Library-first API (`fusesell_local.api`) exposing `build_config`, `execute_pipeline`, and supporting helpers for embedding FuseSell in external runtimes.
40
+ - Public exports in `fusesell_local.__init__` so consumers can import `FuseSellPipeline` and the new helpers directly.
41
+ - Programmatic configuration validation error (`ConfigValidationError`) for clearer failures in host applications.
42
+
43
+ ### Changed
44
+ - CLI now delegates configuration/build/validation/logging to the shared library utilities, ensuring consistent behaviour across CLI and embedded usage.
45
+ - Pipeline context now forwards scheduling preferences (timezone, send_immediately, business hour fields) from configuration to stages.
46
+
47
+ ### Fixed
48
+ - Continuation validation correctly requires `selected_draft_id` when performing `draft_rewrite` or `send` actions.
49
+
50
+ ## [1.0.0] - 2025-01-07
51
+
52
+ ### Added - Core Infrastructure Complete
36
53
 
37
54
  #### CLI Interface
38
55
  - Complete command-line interface with 25+ configuration options
@@ -78,22 +95,22 @@ All notable changes to FuseSell Local will be documented in this file.
78
95
  #### Project Structure
79
96
  ```
80
97
  fusesell-local/
81
- ├── fusesell.py # Main CLI entry point
82
- ├── requirements.txt # Python dependencies
83
- ├── setup.py # Package installation
84
- ├── README.md # User documentation
85
- ├── TECHNICAL.md # Technical documentation
86
- ├── CHANGELOG.md # This file
87
- ├── business_logic.md # Business logic documentation
88
- ├── fusesell_local/ # Main package
89
- │ ├── pipeline.py # Pipeline orchestrator
90
- │ ├── stages/ # Pipeline stages (base implementation)
91
- │ ├── utils/ # Utilities (data, LLM, validation, logging)
92
- │ └── config/ # Configuration management
93
- └── fusesell_data/ # Local data storage
94
- ├── config/ # Configuration files
95
- ├── drafts/ # Generated email drafts
96
- └── logs/ # Execution logs
98
+ fusesell.py # Main CLI entry point
99
+ requirements.txt # Python dependencies
100
+ setup.py # Package installation
101
+ README.md # User documentation
102
+ TECHNICAL.md # Technical documentation
103
+ CHANGELOG.md # This file
104
+ business_logic.md # Business logic documentation
105
+ fusesell_local/ # Main package
106
+ pipeline.py # Pipeline orchestrator
107
+ stages/ # Pipeline stages (base implementation)
108
+ utils/ # Utilities (data, LLM, validation, logging)
109
+ config/ # Configuration management
110
+ fusesell_data/ # Local data storage
111
+ config/ # Configuration files
112
+ drafts/ # Generated email drafts
113
+ logs/ # Execution logs
97
114
  ```
98
115
 
99
116
  #### Key Features Implemented
@@ -130,11 +147,11 @@ The core infrastructure is complete and ready for individual stage implementatio
130
147
  5. **Follow-up**: Context-aware follow-up sequences and timing optimization
131
148
 
132
149
  #### Development Status
133
- -Core infrastructure (CLI, pipeline, database, configuration)
134
- -Business logic validation and orchestration rules
135
- -Process continuation and human-in-the-loop controls
136
- -Comprehensive documentation and user guides
137
- - 🔄 Individual stage implementations (next development phase)
150
+ - Core infrastructure (CLI, pipeline, database, configuration)
151
+ - Business logic validation and orchestration rules
152
+ - Process continuation and human-in-the-loop controls
153
+ - Comprehensive documentation and user guides
154
+ - Individual stage implementations (next development phase)
138
155
 
139
156
  ### Migration from Server-Based System
140
157
 
@@ -236,4 +253,4 @@ For technical support, feature requests, or contributions:
236
253
  - Complete follow-up stage implementation
237
254
  - Context-aware follow-up sequences
238
255
  - Interaction history analysis
239
- - Automated timing optimization
256
+ - Automated timing optimization
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: fusesell
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: Local implementation of FuseSell AI sales automation pipeline
5
5
  Author-email: FuseSell Team <team@fusesell.ai>
6
6
  License-Expression: MIT
@@ -39,25 +39,27 @@ Requires-Dist: psutil>=5.8.0; extra == "dev"
39
39
  Requires-Dist: pytest>=8.0.0; extra == "dev"
40
40
  Dynamic: license-file
41
41
 
42
- # FuseSell Local
42
+ # FuseSell Local
43
43
 
44
44
  **Complete AI-powered sales automation pipeline that runs entirely on your local machine.**
45
45
 
46
46
  FuseSell Local is a production-ready implementation of the FuseSell AI sales automation system, converted from server-based YAML workflows to a comprehensive Python command-line tool with full data ownership and privacy control.
47
47
 
48
- ## 🚀 Complete Pipeline Overview
48
+ > Latest release: `fusesell==1.2.1` is available on PyPI via `pip install fusesell`.
49
+
50
+ ## 🚀 Complete Pipeline Overview
49
51
 
50
52
  FuseSell Local processes leads through a complete 5-stage AI-powered pipeline:
51
53
 
52
- 1. **Data Acquisition** ✅ - Multi-source customer data extraction (websites, business cards, social media)
53
- 2. **Data Preparation** ✅ - AI-powered customer profiling and pain point analysis
54
- 3. **Lead Scoring** ✅ - Advanced product-customer fit evaluation with detailed scoring
55
- 4. **Initial Outreach** ✅ - Intelligent email generation with multiple personalized approaches
56
- 5. **Follow-up** ✅ - Context-aware follow-up sequences with interaction history analysis
54
+ 1. **Data Acquisition** - Multi-source customer data extraction (websites, business cards, social media)
55
+ 2. **Data Preparation** - AI-powered customer profiling and pain point analysis
56
+ 3. **Lead Scoring** - Advanced product-customer fit evaluation with detailed scoring
57
+ 4. **Initial Outreach** - Intelligent email generation with multiple personalized approaches
58
+ 5. **Follow-up** - Context-aware follow-up sequences with interaction history analysis
57
59
 
58
60
  **Status: 100% Complete - Production Ready**
59
61
 
60
- ## 🚀 Quick Start
62
+ ## 🚀 Quick Start
61
63
 
62
64
  ### Installation
63
65
 
@@ -174,7 +176,7 @@ When embedding FuseSell inside ephemeral interpreter services, consider supplyin
174
176
  ])
175
177
  ```
176
178
 
177
- ## 📋 Complete Usage Examples
179
+ ## 📋 Complete Usage Examples
178
180
 
179
181
  ### Example 1: Full Pipeline - Website to Follow-up
180
182
 
@@ -346,7 +348,7 @@ python fusesell.py \
346
348
  --continue-action "approve_and_continue"
347
349
  ```
348
350
 
349
- ## 📊 Command Reference
351
+ ## 📊 Command Reference
350
352
 
351
353
  ### Required Arguments
352
354
 
@@ -437,7 +439,9 @@ python fusesell.py \
437
439
  | `data_preparation` | AI customer analysis | Automatic (uses previous stage data) |
438
440
  | `lead_scoring` | Product-customer fit | Automatic (uses previous stage data) |
439
441
  | `initial_outreach` | Email generation | `--action draft_write` |
440
- | `follow_up` | Follow-up sequences | `--action draft_write`, `--execution-id` |## 🌐 Enha
442
+ | `follow_up` | Follow-up sequences | `--action draft_write`, `--execution-id` |
443
+
444
+ ## 🌐 Enha
441
445
  nced Web Scraping with Serper API
442
446
 
443
447
  **Optional but Recommended:** Add `--serper-api-key` for better data collection:
@@ -453,16 +457,16 @@ python fusesell.py \
453
457
  ```
454
458
 
455
459
  **Benefits:**
456
- - 🌐 **Better Website Scraping**: More reliable content extraction
457
- - 🔍 **Company Research**: Automatic Google search for company info
458
- - 📱 **Social Media Access**: Enhanced LinkedIn/Facebook scraping
459
- - 🚫 **Graceful Fallback**: Works without Serper API (shows warnings)
460
+ - 🌐 **Better Website Scraping**: More reliable content extraction
461
+ - 🔍 **Company Research**: Automatic Google search for company info
462
+ - 📱 **Social Media Access**: Enhanced LinkedIn/Facebook scraping
463
+ - 🛑 **Graceful Fallback**: Works without Serper API (shows warnings)
460
464
 
461
- **Get Serper API Key:** Visit [serper.dev](https://serper.dev) → Sign up → Get free API key
465
+ **Get Serper API Key:** Visit [serper.dev](https://serper.dev) -> Sign up -> Get free API key
462
466
 
463
- ## 🔄 Complete Pipeline Stages
467
+ ## 🔄 Complete Pipeline Stages
464
468
 
465
- ### 1. Data Acquisition ✅
469
+ ### 1. Data Acquisition
466
470
 
467
471
  **Purpose:** Multi-source customer data extraction
468
472
 
@@ -480,7 +484,7 @@ python fusesell.py \
480
484
 
481
485
  **Output:** Comprehensive customer profile with contact information
482
486
 
483
- ### 2. Data Preparation ✅
487
+ ### 2. Data Preparation
484
488
 
485
489
  **Purpose:** AI-powered customer profiling and analysis
486
490
 
@@ -494,7 +498,7 @@ python fusesell.py \
494
498
 
495
499
  **Output:** Enriched customer profile with pain points and business insights
496
500
 
497
- ### 3. Lead Scoring ✅
501
+ ### 3. Lead Scoring
498
502
 
499
503
  **Purpose:** Advanced product-customer fit evaluation
500
504
 
@@ -508,7 +512,7 @@ python fusesell.py \
508
512
 
509
513
  **Output:** Detailed scoring breakdown with product recommendations and justifications
510
514
 
511
- ### 4. Initial Outreach ✅
515
+ ### 4. Initial Outreach
512
516
 
513
517
  **Purpose:** Intelligent email generation and draft management
514
518
 
@@ -526,7 +530,7 @@ python fusesell.py \
526
530
 
527
531
  **Output:** Multiple personalized email drafts with management tools
528
532
 
529
- ### 5. Follow-up ✅
533
+ ### 5. Follow-up
530
534
 
531
535
  **Purpose:** Context-aware follow-up sequences with interaction analysis
532
536
 
@@ -548,7 +552,9 @@ python fusesell.py \
548
552
  - **Context Awareness**: References previous interactions appropriately
549
553
  - **Engagement Adaptation**: Adjusts tone and approach based on customer behavior
550
554
 
551
- **Output:** Context-aware follow-up emails with sequence management## 🔍 M
555
+ **Output:** Context-aware follow-up emails with sequence management
556
+
557
+ ## 🔍 M
552
558
  anaging Multiple Sales Processes
553
559
 
554
560
  When running multiple sales processes, use the querying tools:
@@ -567,21 +573,21 @@ python query_sales_processes.py --customer "Target Corp"
567
573
  python query_sales_processes.py --stage-result "task_id" "lead_scoring"
568
574
  ```
569
575
 
570
- **📚 Complete querying guide: [QUERYING_GUIDE.md](QUERYING_GUIDE.md)**
576
+ **📚 Complete querying guide: [QUERYING_GUIDE.md](QUERYING_GUIDE.md)**
571
577
 
572
- ## 📁 Data Storage & Configuration
578
+ ## 📁 Data Storage & Configuration
573
579
 
574
580
  All data is stored locally in the `fusesell_data` directory with **100% server-compatible schema**:
575
581
 
576
582
  ```
577
583
  fusesell_data/
578
- ├── fusesell.db # SQLite database
579
- ├── config/ # Configuration files
580
- │ ├── prompts.json # LLM prompts
581
- │ ├── scoring_criteria.json
582
- │ └── email_templates.json
583
- ├── drafts/ # Generated email drafts
584
- └── logs/ # Execution logs
584
+ +--- fusesell.db # SQLite database
585
+ +--- config/ # Configuration files
586
+ | +--- prompts.json # LLM prompts
587
+ | +--- scoring_criteria.json
588
+ | +--- email_templates.json
589
+ +--- drafts/ # Generated email drafts
590
+ +--- logs/ # Execution logs
585
591
  ```
586
592
 
587
593
  ### Database Tables
@@ -592,7 +598,7 @@ fusesell_data/
592
598
  - `email_drafts` - Generated email drafts and variations
593
599
  - `stage_results` - Intermediate results from each stage
594
600
 
595
- ### 🏗️ Server-Compatible Database Schema
601
+ ### 🔧 Server-Compatible Database Schema
596
602
 
597
603
  FuseSell Local uses **exact server table names** for seamless integration:
598
604
 
@@ -635,9 +641,9 @@ Customize lead scoring weights and criteria:
635
641
  }
636
642
  ```
637
643
 
638
- ## 🎯 Key Features
644
+ ## 🎯 Key Features
639
645
 
640
- ### ✅ Complete AI-Powered Sales Automation
646
+ ### Complete AI-Powered Sales Automation
641
647
 
642
648
  - **Multi-Source Data Collection**: Websites, business cards (OCR), LinkedIn, Facebook
643
649
  - **AI Customer Profiling**: Pain point analysis, company research, financial assessment
@@ -645,7 +651,7 @@ Customize lead scoring weights and criteria:
645
651
  - **Personalized Email Generation**: 4 different approaches with subject line variations
646
652
  - **Context-Aware Follow-ups**: Smart sequence management with interaction history analysis
647
653
 
648
- ### ✅ 100% Local Execution & Privacy
654
+ ### 100% Local Execution & Privacy
649
655
 
650
656
  - **Complete Data Ownership**: All customer data stays on your machine
651
657
  - **No External Dependencies**: Except OpenAI API for LLM processing
@@ -653,7 +659,7 @@ Customize lead scoring weights and criteria:
653
659
  - **Event-Based Scheduling**: Database events for external app integration
654
660
  - **Comprehensive Logging**: Detailed execution tracking and debugging
655
661
 
656
- ### ✅ Production-Ready Architecture
662
+ ### Production-Ready Architecture
657
663
 
658
664
  - **Action-Based Routing**: draft_write, draft_rewrite, send, close operations
659
665
  - **Error Handling**: Graceful degradation with fallback templates
@@ -661,13 +667,15 @@ Customize lead scoring weights and criteria:
661
667
  - **Timezone Intelligence**: Optimal email timing with business hours respect
662
668
  - **Extensible Design**: Easy customization and integration
663
669
 
664
- ### ✅ Advanced Intelligence Features
670
+ ### Advanced Intelligence Features
665
671
 
666
672
  - **Personalization Scoring**: 0-100 scoring based on customer data usage
667
673
  - **Engagement Analysis**: Customer interaction patterns and sentiment detection
668
674
  - **Readiness Assessment**: Outreach readiness scoring with recommendations
669
- - **Sequence Management**: Automatic follow-up progression (1st → 2nd → 3rd → final)
670
- - **Respectful Automation**: Smart limits and graceful closure handling## 🛠️ Trou
675
+ - **Sequence Management**: Automatic follow-up progression (1st -> 2nd -> 3rd -> final)
676
+ - **Respectful Automation**: Smart limits and graceful closure handling
677
+
678
+ ## 🛠️ Trou
671
679
  bleshooting
672
680
 
673
681
  ### Common Issues
@@ -738,13 +746,13 @@ python fusesell.py \
738
746
  --dry-run
739
747
  ```
740
748
 
741
- **📚 Complete troubleshooting guide: [TROUBLESHOOTING.md](TROUBLESHOOTING.md)**
749
+ **📚 Complete troubleshooting guide: [TROUBLESHOOTING.md](TROUBLESHOOTING.md)**
742
750
 
743
- ## 🏆 Production Status
751
+ ## 🏆 Production Status
744
752
 
745
753
  **FuseSell Local is 100% complete and production-ready!**
746
754
 
747
- ### ✅ All Components Complete:
755
+ ### All Components Complete:
748
756
 
749
757
  - **CLI Interface**: 25+ configuration options with comprehensive validation
750
758
  - **Pipeline Engine**: Complete 5-stage orchestration with business logic
@@ -753,59 +761,59 @@ python fusesell.py \
753
761
  - **Stage Implementations**: All 5 stages production-ready (7,400+ lines of code)
754
762
  - **Documentation**: Complete user guides, technical docs, and troubleshooting
755
763
 
756
- ### ✅ Stage Implementation Status:
764
+ ### Stage Implementation Status:
757
765
 
758
766
  | Stage | Status | Lines | Key Features |
759
767
  | -------------------- | ----------- | ------ | ---------------------------------------------- |
760
- | **Data Acquisition** | ✅ Complete | 1,422 | Multi-source extraction, OCR, social media |
761
- | **Data Preparation** | ✅ Complete | 1,201 | AI profiling, pain point analysis |
762
- | **Lead Scoring** | ✅ Complete | 1,426 | Product-customer fit evaluation |
763
- | **Initial Outreach** | ✅ Complete | 1,600+ | Intelligent email generation, draft management |
764
- | **Follow-up** | ✅ Complete | 1,800+ | Context-aware sequences, interaction analysis |
768
+ | **Data Acquisition** | Complete | 1,422 | Multi-source extraction, OCR, social media |
769
+ | **Data Preparation** | Complete | 1,201 | AI profiling, pain point analysis |
770
+ | **Lead Scoring** | Complete | 1,426 | Product-customer fit evaluation |
771
+ | **Initial Outreach** | Complete | 1,600+ | Intelligent email generation, draft management |
772
+ | **Follow-up** | Complete | 1,800+ | Context-aware sequences, interaction analysis |
765
773
 
766
- ## 📁 Directory Structure
774
+ ## 📁 Directory Structure
767
775
 
768
776
  ```
769
777
  fusesell-local/
770
- ├── fusesell.py # Main CLI entry point
771
- ├── requirements.txt # Python dependencies
772
- ├── README.md # This file
773
- ├── fusesell_local/ # Main package
774
- │ ├── __init__.py
775
- │ ├── pipeline.py # Pipeline orchestrator
776
- │ ├── stages/ # Pipeline stages
777
- │ │ ├── __init__.py
778
- │ │ ├── base_stage.py # Base stage interface
779
- │ │ ├── data_acquisition.py
780
- │ │ ├── data_preparation.py
781
- │ │ ├── lead_scoring.py
782
- │ │ ├── initial_outreach.py
783
- │ │ └── follow_up.py
784
- │ ├── utils/ # Utilities
785
- │ │ ├── __init__.py
786
- │ │ ├── data_manager.py # SQLite database manager
787
- │ │ ├── llm_client.py # OpenAI API client
788
- │ │ ├── validators.py # Input validation
789
- │ │ └── logger.py # Logging configuration
790
- │ └── config/ # Configuration
791
- │ └── __init__.py
792
- └── fusesell_data/ # Local data storage
793
- ├── config/ # Configuration files
794
- │ ├── prompts.json # LLM prompts
795
- │ ├── scoring_criteria.json
796
- │ └── email_templates.json
797
- ├── drafts/ # Generated email drafts
798
- └── logs/ # Execution logs
778
+ +--- fusesell.py # Main CLI entry point
779
+ +--- requirements.txt # Python dependencies
780
+ +--- README.md # This file
781
+ +--- fusesell_local/ # Main package
782
+ | +--- __init__.py
783
+ | +--- pipeline.py # Pipeline orchestrator
784
+ | +--- stages/ # Pipeline stages
785
+ | | +--- __init__.py
786
+ | | +--- base_stage.py # Base stage interface
787
+ | | +--- data_acquisition.py
788
+ | | +--- data_preparation.py
789
+ | | +--- lead_scoring.py
790
+ | | +--- initial_outreach.py
791
+ | | +--- follow_up.py
792
+ | +--- utils/ # Utilities
793
+ | | +--- __init__.py
794
+ | | +--- data_manager.py # SQLite database manager
795
+ | | +--- llm_client.py # OpenAI API client
796
+ | | +--- validators.py # Input validation
797
+ | | +--- logger.py # Logging configuration
798
+ | +--- config/ # Configuration
799
+ | +--- __init__.py
800
+ +--- fusesell_data/ # Local data storage
801
+ +--- config/ # Configuration files
802
+ | +--- prompts.json # LLM prompts
803
+ | +--- scoring_criteria.json
804
+ | +--- email_templates.json
805
+ +--- drafts/ # Generated email drafts
806
+ +--- logs/ # Execution logs
799
807
  ```
800
808
 
801
- ## 🔒 Security & Privacy
809
+ ## 🔒 Security & Privacy
802
810
 
803
811
  - **Complete data ownership**: All customer data stays on your machine
804
812
  - **API key security**: Keys are only used for LLM calls, never stored
805
813
  - **Input validation**: Prevents injection attacks and validates all inputs
806
814
  - **Local processing**: No external dependencies except for LLM API calls
807
815
 
808
- ## 📚 Additional Documentation
816
+ ## 📚 Additional Documentation
809
817
 
810
818
  ### User Documentation
811
819
  - **[QUERYING_GUIDE.md](QUERYING_GUIDE.md)** - Managing multiple sales processes
@@ -821,7 +829,7 @@ fusesell-local/
821
829
  - **[business_logic.md](business_logic.md)** - Business logic and orchestration rules
822
830
  - **[CHANGELOG.md](CHANGELOG.md)** - Version history and updates
823
831
 
824
- ## 🚀 Ready for Production Use
832
+ ## 🚀 Ready for Production Use
825
833
 
826
834
  - **End-to-End Pipeline**: Complete sales automation workflow
827
835
  - **Local Data Ownership**: Full privacy and control
@@ -829,7 +837,7 @@ fusesell-local/
829
837
  - **Integration Ready**: Database events for external app integration
830
838
  - **Comprehensive Testing**: Dry-run mode and extensive error handling
831
839
 
832
- ## 💡 Performance Tips
840
+ ## 💡 Performance Tips
833
841
 
834
842
  ### 1. Use Dry Run for Testing
835
843
 
@@ -859,7 +867,7 @@ python fusesell.py ... --data-dir "./project_a_data"
859
867
  python fusesell.py ... --data-dir "./project_b_data"
860
868
  ```
861
869
 
862
- ## 🤝 Support
870
+ ## 🤝 Support
863
871
 
864
872
  For issues, questions, or contributions:
865
873
  - Check the troubleshooting guide for common issues
@@ -869,4 +877,4 @@ For issues, questions, or contributions:
869
877
 
870
878
  ---
871
879
 
872
- **FuseSell Local - Complete AI Sales Automation, 100% Local, 100% Private** 🚀
880
+ **FuseSell Local - Complete AI Sales Automation, 100% Local, 100% Private** 🚀