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.
- {fusesell-1.2.0 → fusesell-1.2.2}/CHANGELOG.md +60 -43
- {fusesell-1.2.0/fusesell.egg-info → fusesell-1.2.2}/PKG-INFO +94 -86
- {fusesell-1.2.0 → fusesell-1.2.2}/README.md +126 -118
- {fusesell-1.2.0 → fusesell-1.2.2/fusesell.egg-info}/PKG-INFO +94 -86
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/SOURCES.txt +4 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.py +6 -1
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/__init__.py +37 -37
- fusesell-1.2.2/fusesell_local/tests/conftest.py +11 -0
- fusesell-1.2.2/fusesell_local/tests/test_data_manager_products.py +74 -0
- fusesell-1.2.2/fusesell_local/tests/test_data_manager_sales_process.py +115 -0
- fusesell-1.2.2/fusesell_local/tests/test_data_manager_teams.py +133 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/data_manager.py +95 -67
- {fusesell-1.2.0 → fusesell-1.2.2}/pyproject.toml +74 -74
- {fusesell-1.2.0 → fusesell-1.2.2}/LICENSE +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/MANIFEST.in +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/dependency_links.txt +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/entry_points.txt +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/requires.txt +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell.egg-info/top_level.txt +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/api.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/cli.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/config/__init__.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/config/prompts.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/config/settings.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/pipeline.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/__init__.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/base_stage.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/data_acquisition.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/data_preparation.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/follow_up.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/initial_outreach.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/stages/lead_scoring.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/tests/test_api.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/tests/test_cli.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/__init__.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/birthday_email_manager.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/event_scheduler.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/llm_client.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/logger.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/timezone_detector.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/fusesell_local/utils/validators.py +0 -0
- {fusesell-1.2.0 → fusesell-1.2.2}/requirements.txt +0 -0
- {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
|
-
|
|
5
|
+
# [1.2.2] - 2025-10-21
|
|
6
6
|
|
|
7
7
|
### Added
|
|
8
|
-
-
|
|
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
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
-
|
|
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
|
-
-
|
|
19
|
+
- `import fusesell; fusesell.__version__` now reports the installed version instead of `unknown`.
|
|
32
20
|
|
|
33
|
-
## [1.
|
|
21
|
+
## [1.2.0] - 2025-10-20
|
|
34
22
|
|
|
35
|
-
### Added
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
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
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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**
|
|
53
|
-
2. **Data Preparation**
|
|
54
|
-
3. **Lead Scoring**
|
|
55
|
-
4. **Initial Outreach**
|
|
56
|
-
5. **Follow-up**
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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`
|
|
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
|
-
-
|
|
457
|
-
-
|
|
458
|
-
-
|
|
459
|
-
-
|
|
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)
|
|
465
|
+
**Get Serper API Key:** Visit [serper.dev](https://serper.dev) -> Sign up -> Get free API key
|
|
462
466
|
|
|
463
|
-
##
|
|
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
|
|
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
|
-
|
|
576
|
+
**📚 Complete querying guide: [QUERYING_GUIDE.md](QUERYING_GUIDE.md)**
|
|
571
577
|
|
|
572
|
-
##
|
|
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
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
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
|
-
###
|
|
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
|
-
##
|
|
644
|
+
## 🎯 Key Features
|
|
639
645
|
|
|
640
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
-
###
|
|
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
|
|
670
|
-
- **Respectful Automation**: Smart limits and graceful closure handling
|
|
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
|
-
|
|
749
|
+
**📚 Complete troubleshooting guide: [TROUBLESHOOTING.md](TROUBLESHOOTING.md)**
|
|
742
750
|
|
|
743
|
-
##
|
|
751
|
+
## 🏆 Production Status
|
|
744
752
|
|
|
745
753
|
**FuseSell Local is 100% complete and production-ready!**
|
|
746
754
|
|
|
747
|
-
###
|
|
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
|
-
###
|
|
764
|
+
### ✅ Stage Implementation Status:
|
|
757
765
|
|
|
758
766
|
| Stage | Status | Lines | Key Features |
|
|
759
767
|
| -------------------- | ----------- | ------ | ---------------------------------------------- |
|
|
760
|
-
| **Data Acquisition** |
|
|
761
|
-
| **Data Preparation** |
|
|
762
|
-
| **Lead Scoring** |
|
|
763
|
-
| **Initial Outreach** |
|
|
764
|
-
| **Follow-up** |
|
|
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
|
-
##
|
|
774
|
+
## 📁 Directory Structure
|
|
767
775
|
|
|
768
776
|
```
|
|
769
777
|
fusesell-local/
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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
|
-
##
|
|
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** 🚀
|