smart-bot-factory 0.3.7__py3-none-any.whl → 0.3.8__py3-none-any.whl
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 smart-bot-factory might be problematic. Click here for more details.
- smart_bot_factory/admin/__init__.py +7 -7
- smart_bot_factory/admin/admin_events.py +483 -383
- smart_bot_factory/admin/admin_logic.py +234 -158
- smart_bot_factory/admin/admin_manager.py +68 -53
- smart_bot_factory/admin/admin_tester.py +46 -40
- smart_bot_factory/admin/timeout_checker.py +201 -153
- smart_bot_factory/aiogram_calendar/__init__.py +11 -3
- smart_bot_factory/aiogram_calendar/common.py +12 -18
- smart_bot_factory/aiogram_calendar/dialog_calendar.py +126 -64
- smart_bot_factory/aiogram_calendar/schemas.py +49 -28
- smart_bot_factory/aiogram_calendar/simple_calendar.py +94 -50
- smart_bot_factory/analytics/analytics_manager.py +414 -392
- smart_bot_factory/cli.py +204 -148
- smart_bot_factory/config.py +123 -102
- smart_bot_factory/core/bot_utils.py +474 -332
- smart_bot_factory/core/conversation_manager.py +287 -200
- smart_bot_factory/core/decorators.py +1129 -749
- smart_bot_factory/core/message_sender.py +287 -266
- smart_bot_factory/core/router.py +170 -100
- smart_bot_factory/core/router_manager.py +121 -83
- smart_bot_factory/core/states.py +4 -3
- smart_bot_factory/creation/__init__.py +1 -1
- smart_bot_factory/creation/bot_builder.py +320 -242
- smart_bot_factory/creation/bot_testing.py +440 -365
- smart_bot_factory/dashboard/__init__.py +1 -3
- smart_bot_factory/event/__init__.py +2 -7
- smart_bot_factory/handlers/handlers.py +676 -472
- smart_bot_factory/integrations/openai_client.py +218 -168
- smart_bot_factory/integrations/supabase_client.py +928 -637
- smart_bot_factory/message/__init__.py +18 -22
- smart_bot_factory/router/__init__.py +2 -2
- smart_bot_factory/setup_checker.py +162 -126
- smart_bot_factory/supabase/__init__.py +1 -1
- smart_bot_factory/supabase/client.py +631 -515
- smart_bot_factory/utils/__init__.py +2 -3
- smart_bot_factory/utils/debug_routing.py +38 -27
- smart_bot_factory/utils/prompt_loader.py +153 -120
- smart_bot_factory/utils/user_prompt_loader.py +55 -56
- smart_bot_factory/utm_link_generator.py +123 -116
- {smart_bot_factory-0.3.7.dist-info → smart_bot_factory-0.3.8.dist-info}/METADATA +3 -1
- smart_bot_factory-0.3.8.dist-info/RECORD +59 -0
- smart_bot_factory-0.3.7.dist-info/RECORD +0 -59
- {smart_bot_factory-0.3.7.dist-info → smart_bot_factory-0.3.8.dist-info}/WHEEL +0 -0
- {smart_bot_factory-0.3.7.dist-info → smart_bot_factory-0.3.8.dist-info}/entry_points.txt +0 -0
- {smart_bot_factory-0.3.7.dist-info → smart_bot_factory-0.3.8.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,56 +1,55 @@
|
|
|
1
|
-
"""
|
|
2
|
-
UserPromptLoader - упрощенный PromptLoader для пользователей библиотеки
|
|
3
|
-
с автоматическим поиском prompts_dir от корня проекта
|
|
4
|
-
"""
|
|
5
|
-
|
|
6
|
-
import logging
|
|
7
|
-
|
|
8
|
-
from .prompt_loader import PromptLoader
|
|
9
|
-
|
|
10
|
-
logger = logging.getLogger(__name__)
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class UserPromptLoader(PromptLoader):
|
|
14
|
-
"""
|
|
15
|
-
PromptLoader для пользователей библиотеки с автоматическим поиском prompts_dir
|
|
16
|
-
|
|
17
|
-
Автоматически находит папку prompts для указанного бота от корня проекта
|
|
18
|
-
Наследуется от базового PromptLoader - все методы доступны
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
def __init__(self, bot_id: str, prompts_subdir: str = "prompts"):
|
|
22
|
-
"""
|
|
23
|
-
Инициализация загрузчика промптов с автоматическим поиском
|
|
24
|
-
|
|
25
|
-
Args:
|
|
26
|
-
bot_id: Идентификатор бота
|
|
27
|
-
prompts_subdir: Подпапка с промптами (по умолчанию "prompts")
|
|
28
|
-
|
|
29
|
-
Example:
|
|
30
|
-
# Автоматически найдет bots/my-bot/prompts
|
|
31
|
-
loader = UserPromptLoader("my-bot")
|
|
32
|
-
|
|
33
|
-
# Или кастомную подпапку
|
|
34
|
-
loader = UserPromptLoader("my-bot", "custom_prompts")
|
|
35
|
-
|
|
36
|
-
# Наследование для кастомизации
|
|
37
|
-
class MyLoader(UserPromptLoader):
|
|
38
|
-
def __init__(self, bot_id):
|
|
39
|
-
super().__init__(bot_id)
|
|
40
|
-
# Добавить свою логику
|
|
41
|
-
self.extra_file = self.prompts_dir / 'extra.txt'
|
|
42
|
-
"""
|
|
43
|
-
from project_root_finder import root
|
|
44
|
-
|
|
45
|
-
# Автоматически определяем путь к промптам
|
|
46
|
-
prompts_dir = root / "bots" / bot_id / prompts_subdir
|
|
47
|
-
|
|
48
|
-
if not prompts_dir.exists():
|
|
49
|
-
logger.warning(f"⚠️ Папка промптов не найдена: {prompts_dir}")
|
|
50
|
-
logger.warning(
|
|
51
|
-
|
|
52
|
-
# Вызываем базовую инициализацию
|
|
53
|
-
super().__init__(str(prompts_dir))
|
|
54
|
-
|
|
55
|
-
logger.info(f"✅ UserPromptLoader создан для bot_id '{bot_id}': {prompts_dir}")
|
|
56
|
-
|
|
1
|
+
"""
|
|
2
|
+
UserPromptLoader - упрощенный PromptLoader для пользователей библиотеки
|
|
3
|
+
с автоматическим поиском prompts_dir от корня проекта
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
import logging
|
|
7
|
+
|
|
8
|
+
from .prompt_loader import PromptLoader
|
|
9
|
+
|
|
10
|
+
logger = logging.getLogger(__name__)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
class UserPromptLoader(PromptLoader):
|
|
14
|
+
"""
|
|
15
|
+
PromptLoader для пользователей библиотеки с автоматическим поиском prompts_dir
|
|
16
|
+
|
|
17
|
+
Автоматически находит папку prompts для указанного бота от корня проекта
|
|
18
|
+
Наследуется от базового PromptLoader - все методы доступны
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
def __init__(self, bot_id: str, prompts_subdir: str = "prompts"):
|
|
22
|
+
"""
|
|
23
|
+
Инициализация загрузчика промптов с автоматическим поиском
|
|
24
|
+
|
|
25
|
+
Args:
|
|
26
|
+
bot_id: Идентификатор бота
|
|
27
|
+
prompts_subdir: Подпапка с промптами (по умолчанию "prompts")
|
|
28
|
+
|
|
29
|
+
Example:
|
|
30
|
+
# Автоматически найдет bots/my-bot/prompts
|
|
31
|
+
loader = UserPromptLoader("my-bot")
|
|
32
|
+
|
|
33
|
+
# Или кастомную подпапку
|
|
34
|
+
loader = UserPromptLoader("my-bot", "custom_prompts")
|
|
35
|
+
|
|
36
|
+
# Наследование для кастомизации
|
|
37
|
+
class MyLoader(UserPromptLoader):
|
|
38
|
+
def __init__(self, bot_id):
|
|
39
|
+
super().__init__(bot_id)
|
|
40
|
+
# Добавить свою логику
|
|
41
|
+
self.extra_file = self.prompts_dir / 'extra.txt'
|
|
42
|
+
"""
|
|
43
|
+
from project_root_finder import root
|
|
44
|
+
|
|
45
|
+
# Автоматически определяем путь к промптам
|
|
46
|
+
prompts_dir = root / "bots" / bot_id / prompts_subdir
|
|
47
|
+
|
|
48
|
+
if not prompts_dir.exists():
|
|
49
|
+
logger.warning(f"⚠️ Папка промптов не найдена: {prompts_dir}")
|
|
50
|
+
logger.warning(" Создайте папку или проверьте bot_id")
|
|
51
|
+
|
|
52
|
+
# Вызываем базовую инициализацию
|
|
53
|
+
super().__init__(str(prompts_dir))
|
|
54
|
+
|
|
55
|
+
logger.info(f"✅ UserPromptLoader создан для bot_id '{bot_id}': {prompts_dir}")
|
|
@@ -1,116 +1,123 @@
|
|
|
1
|
-
#!/usr/bin/env python3
|
|
2
|
-
"""
|
|
3
|
-
Генератор UTM-ссылок для Telegram ботов
|
|
4
|
-
Создает ссылки в формате: @https://t.me/bot?start=source-vk_campaign-summer2025
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
print("
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
return
|
|
93
|
-
|
|
94
|
-
#
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""
|
|
3
|
+
Генератор UTM-ссылок для Telegram ботов
|
|
4
|
+
Создает ссылки в формате: @https://t.me/bot?start=source-vk_campaign-summer2025
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_user_input():
|
|
9
|
+
"""Получает данные от пользователя через консоль"""
|
|
10
|
+
print("🔗 Генератор UTM-ссылок для Telegram")
|
|
11
|
+
print("=" * 50)
|
|
12
|
+
|
|
13
|
+
# Основные параметры
|
|
14
|
+
bot_username = input("Введите username бота (без @): ").strip()
|
|
15
|
+
if not bot_username:
|
|
16
|
+
print("❌ Username бота обязателен!")
|
|
17
|
+
return None
|
|
18
|
+
|
|
19
|
+
print("\n📊 Введите UTM-метки (нажмите Enter для пропуска):")
|
|
20
|
+
|
|
21
|
+
# UTM параметры (соответствуют полям в базе данных)
|
|
22
|
+
utm_source = input("utm_source (источник): ").strip()
|
|
23
|
+
utm_medium = input("utm_medium (канал): ").strip()
|
|
24
|
+
utm_campaign = input("utm_campaign (кампания): ").strip()
|
|
25
|
+
utm_content = input("utm_content (контент): ").strip()
|
|
26
|
+
utm_term = input("utm_term (ключевое слово): ").strip()
|
|
27
|
+
|
|
28
|
+
print("\n🎯 Сегментация (нажмите Enter для пропуска):")
|
|
29
|
+
segment = input("seg (сегмент): ").strip()
|
|
30
|
+
|
|
31
|
+
return {
|
|
32
|
+
"bot_username": bot_username,
|
|
33
|
+
"utm_source": utm_source,
|
|
34
|
+
"utm_medium": utm_medium,
|
|
35
|
+
"utm_campaign": utm_campaign,
|
|
36
|
+
"utm_content": utm_content,
|
|
37
|
+
"utm_term": utm_term,
|
|
38
|
+
"segment": segment,
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def create_utm_string(utm_data):
|
|
43
|
+
"""Создает строку UTM параметров в формате source-vk_campaign-summer2025_seg-premium"""
|
|
44
|
+
utm_parts = []
|
|
45
|
+
|
|
46
|
+
# Маппинг полей базы данных на формат без префикса utm
|
|
47
|
+
field_mapping = {
|
|
48
|
+
"utm_source": "source",
|
|
49
|
+
"utm_medium": "medium",
|
|
50
|
+
"utm_campaign": "campaign",
|
|
51
|
+
"utm_content": "content",
|
|
52
|
+
"utm_term": "term",
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
for db_field, utm_field in field_mapping.items():
|
|
56
|
+
value = utm_data.get(db_field)
|
|
57
|
+
if value:
|
|
58
|
+
utm_parts.append(f"{utm_field}-{value}")
|
|
59
|
+
|
|
60
|
+
# Добавляем сегмент, если указан
|
|
61
|
+
segment = utm_data.get("segment")
|
|
62
|
+
if segment:
|
|
63
|
+
utm_parts.append(f"seg-{segment}")
|
|
64
|
+
|
|
65
|
+
return "_".join(utm_parts)
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
def generate_telegram_link(bot_username, utm_string):
|
|
69
|
+
"""Генерирует полную ссылку на Telegram бота"""
|
|
70
|
+
return f"https://t.me/{bot_username}?start={utm_string}"
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def check_size_and_validate(utm_string):
|
|
74
|
+
"""Проверяет размер строки после start= и валидирует"""
|
|
75
|
+
MAX_SIZE = 64
|
|
76
|
+
|
|
77
|
+
if len(utm_string) > MAX_SIZE:
|
|
78
|
+
return (
|
|
79
|
+
False,
|
|
80
|
+
f"Строка слишком большая: {len(utm_string)} символов (максимум {MAX_SIZE})",
|
|
81
|
+
)
|
|
82
|
+
|
|
83
|
+
return True, f"Размер OK: {len(utm_string)} символов"
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
def main():
|
|
87
|
+
"""Основная функция"""
|
|
88
|
+
try:
|
|
89
|
+
# Получаем данные от пользователя
|
|
90
|
+
data = get_user_input()
|
|
91
|
+
if not data:
|
|
92
|
+
return
|
|
93
|
+
|
|
94
|
+
# Создаем UTM строку
|
|
95
|
+
utm_string = create_utm_string(data)
|
|
96
|
+
|
|
97
|
+
if not utm_string:
|
|
98
|
+
print("❌ Не указано ни одной UTM-метки!")
|
|
99
|
+
return
|
|
100
|
+
|
|
101
|
+
# Проверяем размер
|
|
102
|
+
is_valid, size_message = check_size_and_validate(utm_string)
|
|
103
|
+
|
|
104
|
+
print(f"\n📏 {size_message}")
|
|
105
|
+
|
|
106
|
+
if not is_valid:
|
|
107
|
+
print("❌ Ссылка превышает максимальный размер!")
|
|
108
|
+
print("💡 Сократите значения UTM-меток или уберите менее важные")
|
|
109
|
+
return
|
|
110
|
+
|
|
111
|
+
# Генерируем и выводим ссылку
|
|
112
|
+
telegram_link = generate_telegram_link(data["bot_username"], utm_string)
|
|
113
|
+
|
|
114
|
+
print("\n✅ Сгенерированная ссылка:")
|
|
115
|
+
print(f"🔗 {telegram_link}")
|
|
116
|
+
except KeyboardInterrupt:
|
|
117
|
+
print("\n\n👋 Отменено пользователем")
|
|
118
|
+
except Exception as e:
|
|
119
|
+
print(f"\n❌ Ошибка: {e}")
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
if __name__ == "__main__":
|
|
123
|
+
main()
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: smart-bot-factory
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.8
|
|
4
4
|
Summary: Библиотека для создания умных чат-ботов
|
|
5
5
|
Author-email: Kopatych <eserov73@gmail.com>
|
|
6
6
|
License: MIT
|
|
@@ -21,10 +21,12 @@ Classifier: Topic :: Communications :: Chat
|
|
|
21
21
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
22
22
|
Requires-Python: >=3.9
|
|
23
23
|
Requires-Dist: aiofiles>=23.0.0
|
|
24
|
+
Requires-Dist: aiogram-media-group>=0.5.1
|
|
24
25
|
Requires-Dist: aiogram>=3.4.1
|
|
25
26
|
Requires-Dist: click>=8.0.0
|
|
26
27
|
Requires-Dist: openai>=1.12.0
|
|
27
28
|
Requires-Dist: project-root-finder>=1.9
|
|
29
|
+
Requires-Dist: python-dateutil>=2.9.0.post0
|
|
28
30
|
Requires-Dist: python-dotenv>=1.0.1
|
|
29
31
|
Requires-Dist: pytz>=2023.3
|
|
30
32
|
Requires-Dist: pyyaml>=6.0.2
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
smart_bot_factory/__init__.py,sha256=W5k9awLVi0R_N3fSul7VNkKRdSfExZjNb_M2yNzepg8,102
|
|
2
|
+
smart_bot_factory/cli.py,sha256=UM2pZqRnoAekEe_UE0xP3iGFkHI5lBkHcizyqP-QA3Y,32859
|
|
3
|
+
smart_bot_factory/config.py,sha256=-4jOCAlbPQI2ha8OD01E_Y8FbRrIhUNXcrA-pTu_EFQ,11621
|
|
4
|
+
smart_bot_factory/setup_checker.py,sha256=MSTMvLrUwgkjCbZBy-vKJcFMeADf2qTnaZClp7TBxWY,19833
|
|
5
|
+
smart_bot_factory/utm_link_generator.py,sha256=eA3Eic4Wvs0QpMdAFPJgYJyzv-_pSQWZ5ySdFHjyJkg,4327
|
|
6
|
+
smart_bot_factory/admin/__init__.py,sha256=xHUtMLeQDDQEXZrg4WAGpt-TWp8adjCC0-mYUBuino4,489
|
|
7
|
+
smart_bot_factory/admin/admin_events.py,sha256=FkiD0FtnlgpxLCoN9KXR61VCn8OsI0JCWm9RjVVa6tk,43903
|
|
8
|
+
smart_bot_factory/admin/admin_logic.py,sha256=TiXhZIXiXK1YQkrueY_zPFYL3_sJzoAvd100AP-ZCWU,23136
|
|
9
|
+
smart_bot_factory/admin/admin_manager.py,sha256=hjk4XI5prdlE6KMm64DjzadujGu1DmXWkeTQLweWF54,6406
|
|
10
|
+
smart_bot_factory/admin/admin_tester.py,sha256=YwovS51chPJoQ33pIiug-vS3augQzc1hHfbma48HtDk,6352
|
|
11
|
+
smart_bot_factory/admin/timeout_checker.py,sha256=afWsg39X6M5SaRKMk7ptNod8Z0StIa2o8H5Lx8y1ZE0,24438
|
|
12
|
+
smart_bot_factory/aiogram_calendar/__init__.py,sha256=UCoae3mXXDgYqqSQPotEpUxzAsZ_e62FuW9MWl1sG34,410
|
|
13
|
+
smart_bot_factory/aiogram_calendar/common.py,sha256=T6gTJxy__QllBV9TTyXzLnP1U3enmbMHPKGJelMDfOg,2327
|
|
14
|
+
smart_bot_factory/aiogram_calendar/dialog_calendar.py,sha256=f588JaQMrsBunH7HKsAYxbVPm5v5rBmpfDEvA53ER8k,9526
|
|
15
|
+
smart_bot_factory/aiogram_calendar/schemas.py,sha256=fsIbBFBV22rMh-3AczTgRNjbM3mMjLv3Uo8WbBJ7RQQ,2773
|
|
16
|
+
smart_bot_factory/aiogram_calendar/simple_calendar.py,sha256=Ed7oon2suJxvsy3u4UcAYeyCx-ocbq8fW_AM__MzCek,8731
|
|
17
|
+
smart_bot_factory/analytics/analytics_manager.py,sha256=JPV3YgMiqL-u_fpR8a-AwmQw6ZKYX90L-fmteHTvcCI,16979
|
|
18
|
+
smart_bot_factory/configs/growthmed-october-24/prompts/1sales_context.txt,sha256=uJ4WviYIr9xJaFdu-APrrmBgIWVwdJymcN04upIviLY,1614
|
|
19
|
+
smart_bot_factory/configs/growthmed-october-24/prompts/2product_info.txt,sha256=tWP9gdn58vu9BhYpDx1lGuPNT24j5p1XPiCSD-CdXiU,24191
|
|
20
|
+
smart_bot_factory/configs/growthmed-october-24/prompts/3objection_handling.txt,sha256=zwUGKp3mp1dAQUPjLQsCsczwRJJOqn9GGvVzVBCpvfY,6985
|
|
21
|
+
smart_bot_factory/configs/growthmed-october-24/prompts/final_instructions.txt,sha256=Y-lIyL9U0DJFY-CC-6LCVohJqZT9uNEJWikuTBJ81Ik,15410
|
|
22
|
+
smart_bot_factory/configs/growthmed-october-24/prompts/help_message.txt,sha256=q_vNNWsq5rU0xbjKWeyD_lKAy7Q9ABpDZfgpgQNHoyo,1914
|
|
23
|
+
smart_bot_factory/configs/growthmed-october-24/prompts/welcome_message.txt,sha256=sGgaYqxYqQYiyfaA-BgUgjbt5Yxx56ZEQEPYTAy7h60,572
|
|
24
|
+
smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064229.txt,sha256=v24DY1_dL7wvDQzY3JVwc4I_5t5rgSe8IOGuUDzQkH0,58752
|
|
25
|
+
smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064335.txt,sha256=qLcF79mUuzlpSGlLrYTm2HVYsTym7wqF7ky4tYlU24s,1707
|
|
26
|
+
smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064638.txt,sha256=dA_svJJXVf2c0KDkeS4BLhg4UVIfzhC1Jba9da-KayM,2055
|
|
27
|
+
smart_bot_factory/configs/growthmed-october-24/tests/quick_scenarios.yaml,sha256=DXGFTPNv22QluZsqkbbKv0SmJlDezKUuWwoDnewqpPI,9716
|
|
28
|
+
smart_bot_factory/configs/growthmed-october-24/tests/realistic_scenarios.yaml,sha256=Z1V540aHgWamPWzzMKfRlSFfUwFQpfF_IKrxnYayJ0M,6897
|
|
29
|
+
smart_bot_factory/configs/growthmed-october-24/tests/scenario_examples.yaml,sha256=bzDulOU4a2LyWlcHzlQU8GYhOky2WTfyizGfjX4ioMY,2436
|
|
30
|
+
smart_bot_factory/configs/growthmed-october-24/welcome_file/welcome_file_msg.txt,sha256=Db21Mm0r8SBWFdX9EeIF2FZtLQ2cvuwVlSRJd2KEYCg,922
|
|
31
|
+
smart_bot_factory/configs/growthmed-october-24/welcome_file/Чек лист по 152ФЗ и 323ФЗ для медицины.pdf,sha256=BiAiQHNnQXJPMsks9AeL6s0beEjRFkRMJLMlAn4WorA,5284954
|
|
32
|
+
smart_bot_factory/core/bot_utils.py,sha256=WlJ3QMIO96-n6-KyjQrGm2PR8Z1U-lvIGtSSXSSaLuE,49874
|
|
33
|
+
smart_bot_factory/core/conversation_manager.py,sha256=zduDEaTr7iQoVvbcMdmqBsyN4x1ZaOpTnUt0JsAgQ7I,28497
|
|
34
|
+
smart_bot_factory/core/decorators.py,sha256=9zBlgKZb0fnClZ0dVULNJKd9Fdl7VRDnVX07LmLU85I,103031
|
|
35
|
+
smart_bot_factory/core/message_sender.py,sha256=VjOLZUhw0Lkz_IOh4p9J_L5DkEkaURFRRU-qrIsG2qc,32338
|
|
36
|
+
smart_bot_factory/core/router.py,sha256=GdsSZxeuYICyzXNFeJnS4CnbaXGxojg-c9JK7z2OFiM,15592
|
|
37
|
+
smart_bot_factory/core/router_manager.py,sha256=x-cc4zhZUVPCTUH980GdlE_-JjHRtYnPdEBiWnf3ka8,10156
|
|
38
|
+
smart_bot_factory/core/states.py,sha256=mFyQ-oxIjTX03Wy5NHZUgYgh8fsJ5YmQU09_PhPAB04,889
|
|
39
|
+
smart_bot_factory/creation/__init__.py,sha256=lHFgYIjOLvdsDAW8eLMp8zfFUCd-6wepvUaUMeJ7feU,128
|
|
40
|
+
smart_bot_factory/creation/bot_builder.py,sha256=-gF53eCaWBRKoUbRGR-PDHpqLWlceQ9FLUdEqQRt6lw,42929
|
|
41
|
+
smart_bot_factory/creation/bot_testing.py,sha256=aMPSgj2o2zl6yWiV1a6RMmSJfiwMYp-_0ZkmJ6aFZVs,54561
|
|
42
|
+
smart_bot_factory/dashboard/__init__.py,sha256=Qie1pJgzprBlCPrZVQLhVs1JR5-YrpzfcBvHHD3OLJk,94
|
|
43
|
+
smart_bot_factory/event/__init__.py,sha256=E5u8Pjul_T0E77Ftmj-mqrip05w7KwUXlF1WMc5_lIs,192
|
|
44
|
+
smart_bot_factory/handlers/handlers.py,sha256=IELP8fH-hW8KhnTRKBvaO-2rnPmJRGmmcKN8acrvPe0,63656
|
|
45
|
+
smart_bot_factory/integrations/openai_client.py,sha256=R04qglOWNu3yQ32QRMRMzO01T6luWTp83H3OJMvD-uM,24316
|
|
46
|
+
smart_bot_factory/integrations/supabase_client.py,sha256=vBmwNt069GXk9qel6UvgudNyvOEsp_YCkOX6XCPlaCY,66158
|
|
47
|
+
smart_bot_factory/message/__init__.py,sha256=neUUYAs8ITz3cV1B_T0P9_3XZvvn8cZ2VDpDqrf6lrc,1940
|
|
48
|
+
smart_bot_factory/router/__init__.py,sha256=ywywG6iFBLLkBvtZ-huPVetqjXGN4UiUzoK6lw46bMg,272
|
|
49
|
+
smart_bot_factory/supabase/__init__.py,sha256=xa1xmHLaQVoghjD5cqguiL4yd25VYMvGd6_e87uc0tQ,181
|
|
50
|
+
smart_bot_factory/supabase/client.py,sha256=xey3It4TtRq0rnXyu1Crtv0JwCX5Xap2Sb_2jsYWq-U,26271
|
|
51
|
+
smart_bot_factory/utils/__init__.py,sha256=RgP2IAMFsJF7fxhhg8JLfhbGg9mO63xQM-NEadyJBd4,272
|
|
52
|
+
smart_bot_factory/utils/debug_routing.py,sha256=wV9BFwNmjBbF3rNI7UBdGsTf1bIT5XVQIGnxwIxhNYA,4707
|
|
53
|
+
smart_bot_factory/utils/prompt_loader.py,sha256=YClbQjvRgTWCD42Rr92g77zzVEVMUgrqStI6YETC0c4,20022
|
|
54
|
+
smart_bot_factory/utils/user_prompt_loader.py,sha256=lq1eQ4Hb2qN22osOjaFtkGdEc4OgpFPrzPNpPhsm5kA,2353
|
|
55
|
+
smart_bot_factory-0.3.8.dist-info/METADATA,sha256=3D53canLAlt3V72z7HX0EfZT9nSSl4VZVWYuNSFTSmI,40748
|
|
56
|
+
smart_bot_factory-0.3.8.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
57
|
+
smart_bot_factory-0.3.8.dist-info/entry_points.txt,sha256=ybKEAI0WSb7WoRiey7QE-HHfn88UGV7nxLDxXq7b7SU,50
|
|
58
|
+
smart_bot_factory-0.3.8.dist-info/licenses/LICENSE,sha256=OrK3cwdUTzNzIhJvSPtJaVMoYIyC_sSx5EFE_FDMvGs,1092
|
|
59
|
+
smart_bot_factory-0.3.8.dist-info/RECORD,,
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
smart_bot_factory/__init__.py,sha256=W5k9awLVi0R_N3fSul7VNkKRdSfExZjNb_M2yNzepg8,102
|
|
2
|
-
smart_bot_factory/cli.py,sha256=eQ2fv0uc87nrm1b-lRRw0Tz52NquCcwkk2it__beNKU,33223
|
|
3
|
-
smart_bot_factory/config.py,sha256=kB3G2hGMrrCSOAvlrddf8x43bgfgEaQqOCKOeELAzfM,11640
|
|
4
|
-
smart_bot_factory/setup_checker.py,sha256=fqRzyptyMzcb2I0boUaj0rWLdarqaN6ViX6suwTEeWc,20123
|
|
5
|
-
smart_bot_factory/utm_link_generator.py,sha256=wYPdYYK555YfOP22eJXAcEv_D66_t50Dhg0-wkLVzVk,4502
|
|
6
|
-
smart_bot_factory/admin/__init__.py,sha256=vdsMTpt_LiXkY-awFu_X9e2Zt7CV50PwmsWkFbk6whk,488
|
|
7
|
-
smart_bot_factory/admin/admin_events.py,sha256=QCosyTbJgrU8daWSK_bQgf8UZoJSIrV6xyO0R3XV2j0,43289
|
|
8
|
-
smart_bot_factory/admin/admin_logic.py,sha256=vPkNk86bdPsjNUNlZ3qfKtbRr9UuJy2oG54cYUGGNmg,23107
|
|
9
|
-
smart_bot_factory/admin/admin_manager.py,sha256=xlyG9mIjPmtUhS4E9lp36T7o5Kfp5PZpJ-r1QjnSn5g,6394
|
|
10
|
-
smart_bot_factory/admin/admin_tester.py,sha256=PGFpf7fmD5Wxea31xR2ZM_A_QpvrB73gsbxvUrHQBkg,6463
|
|
11
|
-
smart_bot_factory/admin/timeout_checker.py,sha256=TzA2FGrxwE8fuhKerGnGrt4qYMEZdIR8x3SQAnIW5YQ,24490
|
|
12
|
-
smart_bot_factory/aiogram_calendar/__init__.py,sha256=_IzB_HJIZuMs__7xBBsYVG20GbRNFw2VowvhOEyiGGc,349
|
|
13
|
-
smart_bot_factory/aiogram_calendar/common.py,sha256=Ik-ler6Hid11SHpphqfFs5FjvGhj8Ajz0ds-MWMjPoo,2659
|
|
14
|
-
smart_bot_factory/aiogram_calendar/dialog_calendar.py,sha256=AVuIWPp4D8ri7N7aSNqfZ_SicbfYGvQWeJqSmakGkuE,8289
|
|
15
|
-
smart_bot_factory/aiogram_calendar/schemas.py,sha256=y2jnnFuqOqLZ7PwY6WQrzmRgCE6rwFYUGTFYaQnCouM,2524
|
|
16
|
-
smart_bot_factory/aiogram_calendar/simple_calendar.py,sha256=XmCFjrDNJZ9LNEGkbY1vqRbU9t2EgIk69tGg5xy2sfE,7859
|
|
17
|
-
smart_bot_factory/analytics/analytics_manager.py,sha256=y1DI_TnAdSX5NG_mwqHD1emne4opfsyo50D_tebi_UA,17967
|
|
18
|
-
smart_bot_factory/configs/growthmed-october-24/prompts/1sales_context.txt,sha256=uJ4WviYIr9xJaFdu-APrrmBgIWVwdJymcN04upIviLY,1614
|
|
19
|
-
smart_bot_factory/configs/growthmed-october-24/prompts/2product_info.txt,sha256=tWP9gdn58vu9BhYpDx1lGuPNT24j5p1XPiCSD-CdXiU,24191
|
|
20
|
-
smart_bot_factory/configs/growthmed-october-24/prompts/3objection_handling.txt,sha256=zwUGKp3mp1dAQUPjLQsCsczwRJJOqn9GGvVzVBCpvfY,6985
|
|
21
|
-
smart_bot_factory/configs/growthmed-october-24/prompts/final_instructions.txt,sha256=Y-lIyL9U0DJFY-CC-6LCVohJqZT9uNEJWikuTBJ81Ik,15410
|
|
22
|
-
smart_bot_factory/configs/growthmed-october-24/prompts/help_message.txt,sha256=q_vNNWsq5rU0xbjKWeyD_lKAy7Q9ABpDZfgpgQNHoyo,1914
|
|
23
|
-
smart_bot_factory/configs/growthmed-october-24/prompts/welcome_message.txt,sha256=sGgaYqxYqQYiyfaA-BgUgjbt5Yxx56ZEQEPYTAy7h60,572
|
|
24
|
-
smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064229.txt,sha256=v24DY1_dL7wvDQzY3JVwc4I_5t5rgSe8IOGuUDzQkH0,58752
|
|
25
|
-
smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064335.txt,sha256=qLcF79mUuzlpSGlLrYTm2HVYsTym7wqF7ky4tYlU24s,1707
|
|
26
|
-
smart_bot_factory/configs/growthmed-october-24/reports/test_20250924_064638.txt,sha256=dA_svJJXVf2c0KDkeS4BLhg4UVIfzhC1Jba9da-KayM,2055
|
|
27
|
-
smart_bot_factory/configs/growthmed-october-24/tests/quick_scenarios.yaml,sha256=DXGFTPNv22QluZsqkbbKv0SmJlDezKUuWwoDnewqpPI,9716
|
|
28
|
-
smart_bot_factory/configs/growthmed-october-24/tests/realistic_scenarios.yaml,sha256=Z1V540aHgWamPWzzMKfRlSFfUwFQpfF_IKrxnYayJ0M,6897
|
|
29
|
-
smart_bot_factory/configs/growthmed-october-24/tests/scenario_examples.yaml,sha256=bzDulOU4a2LyWlcHzlQU8GYhOky2WTfyizGfjX4ioMY,2436
|
|
30
|
-
smart_bot_factory/configs/growthmed-october-24/welcome_file/welcome_file_msg.txt,sha256=Db21Mm0r8SBWFdX9EeIF2FZtLQ2cvuwVlSRJd2KEYCg,922
|
|
31
|
-
smart_bot_factory/configs/growthmed-october-24/welcome_file/Чек лист по 152ФЗ и 323ФЗ для медицины.pdf,sha256=BiAiQHNnQXJPMsks9AeL6s0beEjRFkRMJLMlAn4WorA,5284954
|
|
32
|
-
smart_bot_factory/core/bot_utils.py,sha256=vblk94k8cXvc-3iS3UOZvnU2NtXXKYgt3vzkioca-ac,48395
|
|
33
|
-
smart_bot_factory/core/conversation_manager.py,sha256=eoHL7MCEz68DRvTVwRwZgf2PWwGv4T6J9D-I-thETi8,28289
|
|
34
|
-
smart_bot_factory/core/decorators.py,sha256=mYWiN9B0lrgV3uRAaFVkJTCKWZyTpVNM_AneuQcqifA,99872
|
|
35
|
-
smart_bot_factory/core/message_sender.py,sha256=0-SQcK4W1x__VgvyaeVRuFlXcxV56TsR_nNK07Nr4b4,32763
|
|
36
|
-
smart_bot_factory/core/router.py,sha256=ji7rzpuKaO8yKaxFW58WhlgG5ExXlbCgqCTONxAyqL4,15022
|
|
37
|
-
smart_bot_factory/core/router_manager.py,sha256=dUwesog-oHk1U2EDdS8p0e4MTSkwtx5_qXn6nrJ9l9I,9700
|
|
38
|
-
smart_bot_factory/core/states.py,sha256=L8qp1UmYFuxTN5U9tY076rDuKgxtFbpSGqBpva2eWbo,895
|
|
39
|
-
smart_bot_factory/creation/__init__.py,sha256=IgDk8GDS3pg7Pw_Et41J33ZmeZIU5dRwQdTmYKXfJfE,128
|
|
40
|
-
smart_bot_factory/creation/bot_builder.py,sha256=yGRmOPD7qCMbhcBiltHWISoKxWx8eqjDSnZXpwhqnUs,43115
|
|
41
|
-
smart_bot_factory/creation/bot_testing.py,sha256=JDWXyJfZmbgo-DLdAPk8Sd9FiehtHHa4sLD17lBrTOc,55669
|
|
42
|
-
smart_bot_factory/dashboard/__init__.py,sha256=bDBOWQbcAL1Bmz4KVFouAKg8FN-c6EsC_-YthTt_mP4,100
|
|
43
|
-
smart_bot_factory/event/__init__.py,sha256=hPL449RULIOB-OXv1ZbGNiHctAYaOMUqhSWGPrDHYBM,212
|
|
44
|
-
smart_bot_factory/handlers/handlers.py,sha256=haxyVvFuyMWvfGCOiAvXPrez96bchoHnwQEEURMqiMI,62409
|
|
45
|
-
smart_bot_factory/integrations/openai_client.py,sha256=fwaJpwojFdLBWChcFWpFGOHK9upG-nCIwDochkCRRlY,24291
|
|
46
|
-
smart_bot_factory/integrations/supabase_client.py,sha256=XV1_caDAADnXLwCM7CkUdGfUNBNHBHYz-HBPSYmdGv4,63653
|
|
47
|
-
smart_bot_factory/message/__init__.py,sha256=-ehDZweUc3uKgmLLxFVsD-KWrDtnHpHms7pCrDelWo0,1950
|
|
48
|
-
smart_bot_factory/router/__init__.py,sha256=5gEbpG3eylOyow5NmidzGUy0K-AZq7RhYLVu9OaUT6c,270
|
|
49
|
-
smart_bot_factory/supabase/__init__.py,sha256=XmZP6yM9ffERM5ddAWyJnrNzEhCYtMu3AcjVCi1rOf8,179
|
|
50
|
-
smart_bot_factory/supabase/client.py,sha256=lWIzfOgoSvU7xPhYLoJtM5GnbWdoWsvHcRFC22sFBMU,25637
|
|
51
|
-
smart_bot_factory/utils/__init__.py,sha256=UhsJXEHfrIK8h1AHsroHSwAriijk-LvnqLyvgzi2VYs,273
|
|
52
|
-
smart_bot_factory/utils/debug_routing.py,sha256=BOoDhKBg7UXe5uHQxRk3TSfPfLPOFqt0N7lAo6kjCOo,4719
|
|
53
|
-
smart_bot_factory/utils/prompt_loader.py,sha256=HS_6Vf-qvRBkhvyzu-HNVS1swFgmqWOKNNv0F6We_AQ,20060
|
|
54
|
-
smart_bot_factory/utils/user_prompt_loader.py,sha256=dk6P0X_3UcNqxjRtuIvb0LcPrp03zIIsstZwdmeCPaE,2519
|
|
55
|
-
smart_bot_factory-0.3.7.dist-info/METADATA,sha256=cfOUXXewYMK7EomidcIP78W_yjjCnWHtmQ7efPx8FMA,40662
|
|
56
|
-
smart_bot_factory-0.3.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
57
|
-
smart_bot_factory-0.3.7.dist-info/entry_points.txt,sha256=ybKEAI0WSb7WoRiey7QE-HHfn88UGV7nxLDxXq7b7SU,50
|
|
58
|
-
smart_bot_factory-0.3.7.dist-info/licenses/LICENSE,sha256=OrK3cwdUTzNzIhJvSPtJaVMoYIyC_sSx5EFE_FDMvGs,1092
|
|
59
|
-
smart_bot_factory-0.3.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|