fusesell 1.2.0__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/CHANGELOG.md +239 -0
- fusesell-1.2.0/LICENSE +21 -0
- fusesell-1.2.0/MANIFEST.in +4 -0
- fusesell-1.2.0/PKG-INFO +872 -0
- fusesell-1.2.0/README.md +831 -0
- fusesell-1.2.0/fusesell.egg-info/PKG-INFO +872 -0
- fusesell-1.2.0/fusesell.egg-info/SOURCES.txt +37 -0
- fusesell-1.2.0/fusesell.egg-info/dependency_links.txt +1 -0
- fusesell-1.2.0/fusesell.egg-info/entry_points.txt +2 -0
- fusesell-1.2.0/fusesell.egg-info/requires.txt +22 -0
- fusesell-1.2.0/fusesell.egg-info/top_level.txt +2 -0
- fusesell-1.2.0/fusesell.py +15 -0
- fusesell-1.2.0/fusesell_local/__init__.py +37 -0
- fusesell-1.2.0/fusesell_local/api.py +341 -0
- fusesell-1.2.0/fusesell_local/cli.py +1450 -0
- fusesell-1.2.0/fusesell_local/config/__init__.py +11 -0
- fusesell-1.2.0/fusesell_local/config/prompts.py +245 -0
- fusesell-1.2.0/fusesell_local/config/settings.py +277 -0
- fusesell-1.2.0/fusesell_local/pipeline.py +932 -0
- fusesell-1.2.0/fusesell_local/stages/__init__.py +19 -0
- fusesell-1.2.0/fusesell_local/stages/base_stage.py +602 -0
- fusesell-1.2.0/fusesell_local/stages/data_acquisition.py +1820 -0
- fusesell-1.2.0/fusesell_local/stages/data_preparation.py +1231 -0
- fusesell-1.2.0/fusesell_local/stages/follow_up.py +1590 -0
- fusesell-1.2.0/fusesell_local/stages/initial_outreach.py +2337 -0
- fusesell-1.2.0/fusesell_local/stages/lead_scoring.py +1452 -0
- fusesell-1.2.0/fusesell_local/tests/test_api.py +65 -0
- fusesell-1.2.0/fusesell_local/tests/test_cli.py +37 -0
- fusesell-1.2.0/fusesell_local/utils/__init__.py +15 -0
- fusesell-1.2.0/fusesell_local/utils/birthday_email_manager.py +467 -0
- fusesell-1.2.0/fusesell_local/utils/data_manager.py +4050 -0
- fusesell-1.2.0/fusesell_local/utils/event_scheduler.py +618 -0
- fusesell-1.2.0/fusesell_local/utils/llm_client.py +283 -0
- fusesell-1.2.0/fusesell_local/utils/logger.py +203 -0
- fusesell-1.2.0/fusesell_local/utils/timezone_detector.py +914 -0
- fusesell-1.2.0/fusesell_local/utils/validators.py +416 -0
- fusesell-1.2.0/pyproject.toml +74 -0
- fusesell-1.2.0/requirements.txt +25 -0
- fusesell-1.2.0/setup.cfg +4 -0
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to FuseSell Local will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [1.2.0] - 2025-10-20
|
|
6
|
+
|
|
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.
|
|
15
|
+
|
|
16
|
+
### 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.
|
|
25
|
+
|
|
26
|
+
### 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.
|
|
29
|
+
|
|
30
|
+
### Fixed
|
|
31
|
+
- Continuation validation correctly requires `selected_draft_id` when performing `draft_rewrite` or `send` actions.
|
|
32
|
+
|
|
33
|
+
## [1.0.0] - 2025-01-07
|
|
34
|
+
|
|
35
|
+
### Added - Core Infrastructure Complete
|
|
36
|
+
|
|
37
|
+
#### CLI Interface
|
|
38
|
+
- Complete command-line interface with 25+ configuration options
|
|
39
|
+
- Comprehensive argument validation and error handling
|
|
40
|
+
- Multiple output formats (JSON, YAML, text)
|
|
41
|
+
- Dry-run mode for safe testing
|
|
42
|
+
- Process continuation support for resuming executions
|
|
43
|
+
|
|
44
|
+
#### Pipeline Engine
|
|
45
|
+
- Full pipeline orchestration with stage control
|
|
46
|
+
- Business logic validation extracted from original YAML workflows
|
|
47
|
+
- Sequential stage execution with data flow management
|
|
48
|
+
- Human-in-the-loop controls and approval points
|
|
49
|
+
- Comprehensive error handling and recovery mechanisms
|
|
50
|
+
- Execution tracking and detailed logging
|
|
51
|
+
|
|
52
|
+
#### Data Management
|
|
53
|
+
- SQLite database with complete schema for all data entities
|
|
54
|
+
- CRUD operations for executions, customers, lead scores, and email drafts
|
|
55
|
+
- Data export/import functionality for backup and migration
|
|
56
|
+
- Local data storage ensuring complete data ownership
|
|
57
|
+
|
|
58
|
+
#### Configuration System
|
|
59
|
+
- Team-specific configuration management
|
|
60
|
+
- Customizable LLM prompts for all stages
|
|
61
|
+
- Configurable scoring criteria and email templates
|
|
62
|
+
- JSON-based configuration files with validation
|
|
63
|
+
|
|
64
|
+
#### LLM Integration
|
|
65
|
+
- OpenAI GPT-4o-mini client with error handling
|
|
66
|
+
- Structured response parsing and validation
|
|
67
|
+
- Token usage tracking and optimization
|
|
68
|
+
- Response caching and retry mechanisms
|
|
69
|
+
|
|
70
|
+
#### Documentation
|
|
71
|
+
- Comprehensive README with installation and usage instructions
|
|
72
|
+
- Technical documentation covering architecture and APIs
|
|
73
|
+
- Business logic documentation extracted from original system
|
|
74
|
+
- Troubleshooting guide and development workflow
|
|
75
|
+
|
|
76
|
+
### Technical Details
|
|
77
|
+
|
|
78
|
+
#### Project Structure
|
|
79
|
+
```
|
|
80
|
+
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
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
#### Key Features Implemented
|
|
100
|
+
- **Local Execution**: Complete data ownership with no external dependencies except LLM API
|
|
101
|
+
- **Business Logic Preservation**: All orchestration intelligence from original YAML workflows
|
|
102
|
+
- **Flexible Data Sources**: Support for websites, business cards, social media, and manual input
|
|
103
|
+
- **Stage Control**: Skip stages, stop after specific stages, save intermediate results
|
|
104
|
+
- **Process Continuation**: Resume executions from any point with specific actions
|
|
105
|
+
- **Comprehensive Validation**: Input validation, configuration validation, and error handling
|
|
106
|
+
- **Extensible Architecture**: Modular design for easy customization and extension
|
|
107
|
+
|
|
108
|
+
#### Database Schema
|
|
109
|
+
- `executions`: Execution tracking and metadata
|
|
110
|
+
- `stage_results`: Individual stage outputs and status
|
|
111
|
+
- `customers`: Customer profiles and contact information
|
|
112
|
+
- `lead_scores`: Scoring results and recommendations
|
|
113
|
+
- `email_drafts`: Generated email content and variations
|
|
114
|
+
|
|
115
|
+
#### Configuration Files
|
|
116
|
+
- `prompts.json`: LLM prompts for all stages
|
|
117
|
+
- `scoring_criteria.json`: Lead scoring rules and weights
|
|
118
|
+
- `email_templates.json`: Email template variations
|
|
119
|
+
- `team_settings.json`: Team-specific configurations
|
|
120
|
+
|
|
121
|
+
### Next Phase - Stage Implementations
|
|
122
|
+
|
|
123
|
+
The core infrastructure is complete and ready for individual stage implementations:
|
|
124
|
+
|
|
125
|
+
#### Planned Stage Development
|
|
126
|
+
1. **Data Acquisition**: Website scraping, business card OCR, social media extraction
|
|
127
|
+
2. **Data Preparation**: AI-powered data structuring and pain point identification
|
|
128
|
+
3. **Lead Scoring**: Product-customer fit evaluation with detailed breakdowns
|
|
129
|
+
4. **Initial Outreach**: Personalized email generation with multiple approaches
|
|
130
|
+
5. **Follow-up**: Context-aware follow-up sequences and timing optimization
|
|
131
|
+
|
|
132
|
+
#### 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)
|
|
138
|
+
|
|
139
|
+
### Migration from Server-Based System
|
|
140
|
+
|
|
141
|
+
This release represents a complete conversion of the server-based FuseSell system to a local implementation:
|
|
142
|
+
|
|
143
|
+
#### Preserved Features
|
|
144
|
+
- All business logic and orchestration intelligence
|
|
145
|
+
- Team-specific prompts and configuration
|
|
146
|
+
- Human approval workflows and controls
|
|
147
|
+
- Comprehensive logging and execution tracking
|
|
148
|
+
- Multi-stage pipeline with flexible control
|
|
149
|
+
|
|
150
|
+
#### Enhanced Features
|
|
151
|
+
- Complete local data ownership and privacy
|
|
152
|
+
- Command-line interface with extensive options
|
|
153
|
+
- Process continuation and recovery capabilities
|
|
154
|
+
- Flexible data source handling
|
|
155
|
+
- Enhanced error handling and validation
|
|
156
|
+
|
|
157
|
+
#### Architectural Improvements
|
|
158
|
+
- Modular, extensible design
|
|
159
|
+
- Comprehensive input validation
|
|
160
|
+
- Local SQLite database for performance
|
|
161
|
+
- Configuration-driven customization
|
|
162
|
+
- Detailed technical documentation
|
|
163
|
+
|
|
164
|
+
### Installation and Usage
|
|
165
|
+
|
|
166
|
+
#### Requirements
|
|
167
|
+
- Python 3.8+
|
|
168
|
+
- OpenAI API key
|
|
169
|
+
- 50MB disk space for installation
|
|
170
|
+
- Additional space for data storage (varies by usage)
|
|
171
|
+
|
|
172
|
+
#### Quick Start
|
|
173
|
+
```bash
|
|
174
|
+
# Install dependencies
|
|
175
|
+
pip install -r requirements.txt
|
|
176
|
+
|
|
177
|
+
# Run basic execution
|
|
178
|
+
python fusesell.py --openai-api-key YOUR_API_KEY \
|
|
179
|
+
--org-id your_org \
|
|
180
|
+
--org-name "Your Company" \
|
|
181
|
+
--customer-website "https://example.com"
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
#### Advanced Usage
|
|
185
|
+
```bash
|
|
186
|
+
# Full pipeline with custom settings
|
|
187
|
+
python fusesell.py --openai-api-key sk-xxx \
|
|
188
|
+
--org-id rta \
|
|
189
|
+
--org-name "RTA Corp" \
|
|
190
|
+
--customer-website "https://example.com" \
|
|
191
|
+
--customer-name "Acme Inc" \
|
|
192
|
+
--contact-name "John Doe" \
|
|
193
|
+
--team-id sales_team_1 \
|
|
194
|
+
--language english \
|
|
195
|
+
--output-format json \
|
|
196
|
+
--data-dir ./custom_data
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Support and Development
|
|
200
|
+
|
|
201
|
+
For technical support, feature requests, or contributions:
|
|
202
|
+
- Review the technical documentation in `TECHNICAL.md`
|
|
203
|
+
- Check the troubleshooting guide for common issues
|
|
204
|
+
- Refer to the business logic documentation for workflow details
|
|
205
|
+
- Contact the development team for advanced customization needs
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Future Releases
|
|
210
|
+
|
|
211
|
+
### [1.1.0] - Planned
|
|
212
|
+
- Complete data acquisition stage implementation
|
|
213
|
+
- Website scraping with content extraction
|
|
214
|
+
- Business card OCR processing
|
|
215
|
+
- Social media profile data extraction
|
|
216
|
+
|
|
217
|
+
### [1.2.0] - Planned
|
|
218
|
+
- Complete data preparation stage implementation
|
|
219
|
+
- AI-powered customer profiling
|
|
220
|
+
- Pain point identification and analysis
|
|
221
|
+
- Financial and technology stack analysis
|
|
222
|
+
|
|
223
|
+
### [1.3.0] - Planned
|
|
224
|
+
- Complete lead scoring stage implementation
|
|
225
|
+
- Product-customer fit evaluation
|
|
226
|
+
- Detailed scoring breakdowns and recommendations
|
|
227
|
+
- Multi-product scoring capabilities
|
|
228
|
+
|
|
229
|
+
### [1.4.0] - Planned
|
|
230
|
+
- Complete initial outreach stage implementation
|
|
231
|
+
- Personalized email generation
|
|
232
|
+
- Multiple draft variations and approaches
|
|
233
|
+
- Human review workflow integration
|
|
234
|
+
|
|
235
|
+
### [1.5.0] - Planned
|
|
236
|
+
- Complete follow-up stage implementation
|
|
237
|
+
- Context-aware follow-up sequences
|
|
238
|
+
- Interaction history analysis
|
|
239
|
+
- Automated timing optimization
|
fusesell-1.2.0/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 FuseSell Team
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|