atendentepro 0.3.0__py3-none-any.whl → 0.5.2__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.
@@ -0,0 +1,232 @@
1
+ # -*- coding: utf-8 -*-
2
+ """Feedback Agent prompts."""
3
+
4
+ from __future__ import annotations
5
+
6
+ from dataclasses import dataclass
7
+ from typing import List, Optional
8
+
9
+
10
+ @dataclass
11
+ class FeedbackPromptBuilder:
12
+ """Builder for Feedback Agent prompts."""
13
+
14
+ ticket_types: Optional[List[str]] = None
15
+ protocol_prefix: str = "TKT"
16
+ brand_name: str = "Atendimento"
17
+ sla_message: str = "Retornaremos em até 24h úteis."
18
+
19
+ def build(self) -> str:
20
+ """Build the complete feedback agent prompt."""
21
+ return get_feedback_prompt(
22
+ ticket_types=self.ticket_types,
23
+ protocol_prefix=self.protocol_prefix,
24
+ brand_name=self.brand_name,
25
+ sla_message=self.sla_message,
26
+ )
27
+
28
+
29
+ FEEDBACK_INTRO = """
30
+ Você é o Agente de Feedback, responsável por registrar solicitações dos usuários.
31
+ Sua função é coletar informações e criar tickets para acompanhamento posterior.
32
+ """
33
+
34
+ FEEDBACK_MODULES = """
35
+ Deve seguir as seguintes etapas de forma sequencial (todas são raciocínio interno; não exponha nada ao usuário):
36
+ [READ] - [CLASSIFY] - [COLLECT] - [VALIDATE] - [CREATE] - [CONFIRM] - [OUTPUT]
37
+ """
38
+
39
+ FEEDBACK_READ = """
40
+ [READ]
41
+ - (Raciocínio interno) Leia cuidadosamente a mensagem do usuário e identifique o tipo de solicitação.
42
+ - (Raciocínio interno) Determine se é dúvida, feedback, reclamação, sugestão, elogio ou problema.
43
+ """
44
+
45
+ FEEDBACK_CLASSIFY = """
46
+ [CLASSIFY]
47
+ - (Raciocínio interno) Classifique a solicitação:
48
+ - **Dúvida**: Pergunta que precisa de pesquisa ou análise
49
+ - **Feedback**: Opinião sobre produto ou serviço
50
+ - **Reclamação**: Insatisfação formal que requer atenção
51
+ - **Sugestão**: Ideia de melhoria
52
+ - **Elogio**: Agradecimento ou reconhecimento positivo
53
+ - **Problema**: Bug, erro técnico ou falha operacional
54
+ - (Raciocínio interno) Defina a prioridade baseada no tipo:
55
+ - Reclamações e problemas: prioridade ALTA
56
+ - Dúvidas e feedbacks: prioridade NORMAL
57
+ - Sugestões e elogios: prioridade BAIXA
58
+ """
59
+
60
+ FEEDBACK_COLLECT = """
61
+ [COLLECT]
62
+ - (Raciocínio interno) Colete as informações obrigatórias:
63
+ - Tipo do ticket
64
+ - Descrição detalhada (mínimo 10 caracteres)
65
+ - Email do usuário para resposta
66
+ - (Raciocínio interno) Colete informações opcionais (se o usuário fornecer):
67
+ - Nome do usuário
68
+ - Telefone para contato alternativo
69
+ - Categoria adicional
70
+ """
71
+
72
+ FEEDBACK_VALIDATE = """
73
+ [VALIDATE]
74
+ - (Raciocínio interno) Valide as informações coletadas:
75
+ - Email em formato válido
76
+ - Descrição com detalhes suficientes
77
+ - Tipo válido entre os disponíveis
78
+ - (Raciocínio interno) Se faltar informação, solicite de forma gentil.
79
+ """
80
+
81
+ FEEDBACK_CREATE = """
82
+ [CREATE]
83
+ - (Raciocínio interno) Utilize a ferramenta criar_ticket para registrar o ticket.
84
+ - (Raciocínio interno) Anote o número do protocolo gerado.
85
+ - (Raciocínio interno) Após criar, use enviar_email_confirmacao para notificar o usuário.
86
+ """
87
+
88
+ FEEDBACK_CONFIRM = """
89
+ [CONFIRM]
90
+ - (Raciocínio interno) Prepare a confirmação com:
91
+ - Número do protocolo
92
+ - Tipo e prioridade do ticket
93
+ - Prazo estimado de resposta (SLA)
94
+ - Orientação para guardar o protocolo
95
+ """
96
+
97
+ FEEDBACK_OUTPUT = """
98
+ [OUTPUT]
99
+ - (Mensagem ao usuário) Confirme o registro do ticket de forma clara e amigável.
100
+ - (Mensagem ao usuário) Forneça o protocolo em destaque.
101
+ - (Mensagem ao usuário) Agradeça o contato e informe o prazo de retorno.
102
+ - (Mensagem ao usuário) Oriente a guardar o protocolo para acompanhamento.
103
+ """
104
+
105
+ DEFAULT_TICKET_TYPES = [
106
+ "duvida",
107
+ "feedback",
108
+ "reclamacao",
109
+ "sugestao",
110
+ "elogio",
111
+ "problema",
112
+ ]
113
+
114
+
115
+ def get_feedback_prompt(
116
+ ticket_types: Optional[List[str]] = None,
117
+ protocol_prefix: str = "TKT",
118
+ brand_name: str = "Atendimento",
119
+ sla_message: str = "Retornaremos em até 24h úteis.",
120
+ ) -> str:
121
+ """
122
+ Build the feedback agent prompt.
123
+
124
+ Args:
125
+ ticket_types: List of allowed ticket types.
126
+ protocol_prefix: Prefix for protocol numbers.
127
+ brand_name: Brand name for messages.
128
+ sla_message: SLA message for users.
129
+
130
+ Returns:
131
+ Complete feedback agent prompt.
132
+ """
133
+ types = ticket_types or DEFAULT_TICKET_TYPES
134
+
135
+ types_description = {
136
+ "duvida": "❓ **Dúvida** - Pergunta que precisa de pesquisa ou análise",
137
+ "feedback": "💬 **Feedback** - Opinião sobre produto ou serviço",
138
+ "reclamacao": "📢 **Reclamação** - Insatisfação formal (prioridade alta)",
139
+ "sugestao": "💡 **Sugestão** - Ideia de melhoria",
140
+ "elogio": "⭐ **Elogio** - Agradecimento ou reconhecimento",
141
+ "problema": "⚠️ **Problema** - Bug, erro técnico ou falha (prioridade alta)",
142
+ "outro": "📋 **Outro** - Outros tipos de solicitação",
143
+ }
144
+
145
+ types_list = "\n".join([
146
+ types_description.get(t, f"- {t}")
147
+ for t in types
148
+ ])
149
+
150
+ intro = f"""
151
+ {FEEDBACK_INTRO}
152
+
153
+ ## Seu Papel
154
+
155
+ Você ajuda os usuários a registrar solicitações para análise posterior:
156
+ 1. **Identificar** o tipo de solicitação (dúvida, feedback, reclamação, etc.)
157
+ 2. **Coletar** descrição detalhada e dados de contato
158
+ 3. **Criar** o ticket no sistema
159
+ 4. **Enviar** confirmação por email
160
+ 5. **Informar** o protocolo para acompanhamento
161
+
162
+ ## Tipos de Ticket
163
+
164
+ {types_list}
165
+
166
+ ## Informações Necessárias
167
+
168
+ ### Obrigatórias
169
+ - **Tipo**: Classificação da solicitação
170
+ - **Descrição**: Detalhes do que o usuário precisa (mínimo 10 caracteres)
171
+ - **Email**: Para envio de confirmação e resposta
172
+
173
+ ### Opcionais
174
+ - Nome do usuário
175
+ - Telefone para contato alternativo
176
+ """
177
+
178
+ branding = f"""
179
+ ## Configuração
180
+
181
+ - **Prefixo do protocolo**: {protocol_prefix}
182
+ - **Formato**: {protocol_prefix}-YYYYMMDD-XXXXXX
183
+ - **SLA**: {sla_message}
184
+ """
185
+
186
+ guidelines = """
187
+ ## Fluxo de Atendimento
188
+
189
+ 1. Identificar o tipo de solicitação
190
+ 2. Coletar descrição detalhada
191
+ 3. Coletar email (obrigatório) e dados opcionais
192
+ 4. Criar o ticket com `criar_ticket`
193
+ 5. Enviar confirmação com `enviar_email_confirmacao`
194
+ 6. Informar o protocolo ao usuário
195
+
196
+ ## Prioridades Automáticas
197
+
198
+ - **Reclamações** → Prioridade ALTA
199
+ - **Problemas** → Prioridade ALTA
200
+ - **Dúvidas/Feedbacks** → Prioridade NORMAL
201
+ - **Sugestões/Elogios** → Prioridade BAIXA
202
+
203
+ ## Tom de Voz
204
+
205
+ - Seja empático e atencioso
206
+ - Valide os sentimentos do usuário (especialmente em reclamações)
207
+ - Agradeça feedbacks e elogios
208
+ - Seja claro sobre os próximos passos
209
+ - Nunca minimize a importância da solicitação
210
+
211
+ ## Frases Úteis
212
+
213
+ - "Entendo sua preocupação. Vou registrar isso para nossa equipe analisar."
214
+ - "Obrigado pelo feedback! É muito importante para nós."
215
+ - "Seu ticket foi registrado. Guarde o protocolo para acompanhamento."
216
+ - "Lamento pelo inconveniente. Vamos resolver isso o mais rápido possível."
217
+ """
218
+
219
+ return "\n".join([
220
+ intro,
221
+ branding,
222
+ guidelines,
223
+ FEEDBACK_MODULES,
224
+ FEEDBACK_READ,
225
+ FEEDBACK_CLASSIFY,
226
+ FEEDBACK_COLLECT,
227
+ FEEDBACK_VALIDATE,
228
+ FEEDBACK_CREATE,
229
+ FEEDBACK_CONFIRM,
230
+ FEEDBACK_OUTPUT,
231
+ ])
232
+
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: atendentepro
3
- Version: 0.3.0
3
+ Version: 0.5.2
4
4
  Summary: Sistema de Atendimento Inteligente com Múltiplos Agentes IA - Biblioteca independente e modular baseada no OpenAI Agents SDK
5
- Author-email: BeMonkAI <contato@bemonkai.com>
6
- Maintainer-email: BeMonkAI <contato@bemonkai.com>
5
+ Author-email: BeMonkAI <contato@monkai.com.br>
6
+ Maintainer-email: BeMonkAI <contato@monkai.com.br>
7
7
  License: Proprietary
8
8
  Project-URL: Homepage, https://github.com/BeMonkAI/atendentepro
9
9
  Project-URL: Documentation, https://github.com/BeMonkAI/atendentepro#readme
@@ -58,7 +58,7 @@ Dynamic: license-file
58
58
 
59
59
  [![Python 3.9+](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/)
60
60
  [![License: Proprietary](https://img.shields.io/badge/License-Proprietary-red.svg)](LICENSE)
61
- [![Version](https://img.shields.io/badge/version-0.3.0-green.svg)](CHANGELOG.md)
61
+ [![Version](https://img.shields.io/badge/version-0.5.0-green.svg)](CHANGELOG.md)
62
62
 
63
63
  **Sistema de Atendimento Inteligente com Múltiplos Agentes IA**
64
64
 
@@ -140,8 +140,8 @@ OPENAI_API_KEY=sk-sua-chave-openai
140
140
  ### Obter um Token
141
141
 
142
142
  Entre em contato para obter seu token:
143
- - 📧 **Email:** contato@bemonkai.com
144
- - 🌐 **Site:** https://bemonkai.com
143
+ - 📧 **Email:** contato@monkai.com.br
144
+ - 🌐 **Site:** https://www.monkai.com.br
145
145
 
146
146
  ---
147
147
 
@@ -157,9 +157,9 @@ from agents import Runner
157
157
  activate("ATP_seu-token")
158
158
 
159
159
  async def main():
160
- # 2. Criar rede de agentes
160
+ # 2. Criar rede de agentes usando template standard
161
161
  network = create_standard_network(
162
- templates_root=Path("./client_templates"),
162
+ templates_root=Path("./templates"), # Template genérico de exemplo
163
163
  client="standard"
164
164
  )
165
165
 
@@ -179,34 +179,40 @@ asyncio.run(main())
179
179
  ## 🏗️ Arquitetura
180
180
 
181
181
  ```
182
- ┌─────────────────────────────────────────────────────────────────┐
183
- ATENDENTEPRO
184
- ├─────────────────────────────────────────────────────────────────┤
185
-
186
- │ 👤 Usuário
187
- │ │
188
- │ ▼
189
- │ ┌─────────────┐
190
- │ │ Triage │──► Classifica intenção
191
- │ └─────────────┘
192
- │ │
193
- ├──────────┬──────────┬──────────┬──────────┐
194
- │ ▼
195
- ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐
196
- Flow │ │Knowledge│ │Confirm │ │ Usage │ │Onboard
197
- └─────────┘ └─────────┘ └─────────┘ └─────────┘ └─────────┘
198
- │ │
199
-
200
- ┌─────────────┐
201
- Interview │──► Coleta informações │
202
- └─────────────┘
203
-
204
-
205
- ┌─────────────┐
206
- Answer │──► Resposta final │
207
- └─────────────┘
208
-
209
- └─────────────────────────────────────────────────────────────────┘
182
+ ┌────────────────────────────────────────────────────────────────────────────┐
183
+ ATENDENTEPRO
184
+ ├────────────────────────────────────────────────────────────────────────────┤
185
+
186
+ │ 👤 Usuário
187
+ │ │
188
+ │ ▼
189
+ │ ┌─────────────┐
190
+ │ │ Triage │──► Classifica intenção
191
+ │ └─────────────┘
192
+ │ │
193
+ ┌────┴────┬─────────┬─────────┬─────────┬─────────┬─────────┬────────┐
194
+ ▼ ▼
195
+ ┌──────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐ ┌───────┐
196
+ Flow │ │Knowl. │ │Confirm│ │ Usage │ │Onboard│ Escala.│ │Feedbk.│ │
197
+ └──────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘ └───────┘
198
+ │ │
199
+ Todos os agentes podem escalar ─────────►│
200
+ ou registrar feedback ──────────────────────────────► │
201
+
202
+ ┌─────────────┐
203
+ Interview │──► Coleta informações
204
+ └─────────────┘
205
+
206
+
207
+ ┌─────────────┐
208
+ Answer │──► Resposta final │
209
+ │ └─────────────┘ │
210
+ │ │
211
+ │ ═══════════════════════════════════════════════════════════════════════ │
212
+ │ 📞 Escalation ──► Transfere para atendimento humano IMEDIATO │
213
+ │ 📝 Feedback ──► Registra tickets para resposta POSTERIOR │
214
+ │ │
215
+ └────────────────────────────────────────────────────────────────────────────┘
210
216
  ```
211
217
 
212
218
  ---
@@ -223,6 +229,8 @@ asyncio.run(main())
223
229
  | **Confirmation** | Valida com respostas sim/não |
224
230
  | **Usage** | Responde dúvidas sobre o sistema |
225
231
  | **Onboarding** | Cadastro de novos usuários |
232
+ | **Escalation** | Transfere para atendimento humano quando necessário |
233
+ | **Feedback** | Registra dúvidas, feedbacks, reclamações e sugestões |
226
234
 
227
235
  ---
228
236
 
@@ -231,18 +239,24 @@ asyncio.run(main())
231
239
  Templates são configurações YAML que personalizam o comportamento dos agentes:
232
240
 
233
241
  ```
234
- client_templates/
235
- ├── standard/ # Template base
236
- ├── triage_config.yaml
237
- ├── flow_config.yaml
238
- ├── interview_config.yaml
239
- │ └── ...
242
+ templates/ # ✅ Templates genéricos (incluídos no repositório)
243
+ └── standard/ # Template de exemplo
244
+ ├── triage_config.yaml
245
+ ├── flow_config.yaml
246
+ ├── escalation_config.yaml
247
+ ├── feedback_config.yaml
248
+ └── ...
249
+
250
+ client_templates/ # 🔒 Templates de clientes (não incluídos no repositório)
240
251
  └── meu_cliente/ # Template customizado
241
252
  ├── triage_config.yaml
242
253
  ├── tools.py # Tools customizadas
243
254
  └── network.py # Rede específica
244
255
  ```
245
256
 
257
+ > **Nota:** A pasta `templates/` contém exemplos genéricos e é incluída no repositório.
258
+ > A pasta `client_templates/` contém configurações de clientes e está no `.gitignore`.
259
+
246
260
  Veja a [documentação completa](atendentepro/README.md) para criar templates.
247
261
 
248
262
  ---
@@ -296,8 +310,8 @@ Veja o arquivo [LICENSE](LICENSE) para mais detalhes.
296
310
 
297
311
  ## 🤝 Suporte
298
312
 
299
- - 📧 **Email:** contato@bemonkai.com
300
- - 🌐 **Site:** https://bemonkai.com
313
+ - 📧 **Email:** contato@monkai.com.br
314
+ - 🌐 **Site:** https://www.monkai.com.br
301
315
  - 🐛 **Issues:** https://github.com/BeMonkAI/atendentepro/issues
302
316
 
303
317
  ---
@@ -1,10 +1,12 @@
1
- atendentepro/README.md,sha256=2JWtLfG01zu8IO7Zo0AZOLSJoxNcWlrzgv4CYQML4I8,24619
2
- atendentepro/__init__.py,sha256=m8djGtMGG-EAm43h6J0NxGC7xqObG4_90RyT5vCDMks,4794
3
- atendentepro/license.py,sha256=AGi2ePm28kUak0ekzZ-0Fulg2Q2IOrmVEOS69zDLT58,17567
4
- atendentepro/network.py,sha256=YgSw6LYvSmFUPztHOK7MR5LrMlyBtBCWobizTNOhCr0,10266
5
- atendentepro/agents/__init__.py,sha256=_05UyG04mTlwgZ56ymGI6lavIFQq_qyKWSsK4H1v4uY,1236
6
- atendentepro/agents/answer.py,sha256=4uiuih8cSBUNqPWwN4TfCilnBOfAYhOtpj8bCZQ0Lpk,2023
1
+ atendentepro/README.md,sha256=AMVMJlVOlXcwU_kRGBiIoSn8hASLHrhZwxV1jr1LJsU,43012
2
+ atendentepro/__init__.py,sha256=r_9RwvfKcvcS6bk2a1sdQsQyf_CUW-tljE-vh3TeLyw,5150
3
+ atendentepro/license.py,sha256=rlPtysXNqAzEQkP2VjUAVu_nMndhPgfKv1yN2ruUYVI,17570
4
+ atendentepro/network.py,sha256=CHJVoggOE--LzVvR1XROtjeFqnwJctP2L4dHgCVCXXE,14419
5
+ atendentepro/agents/__init__.py,sha256=OcPhG1Dp6xe49B5YIti4HVmaZDoDIrFLfRa8GmI4jpQ,1638
6
+ atendentepro/agents/answer.py,sha256=dIZzGL_ddjC96JIiWSwDg33phwca8NpWFxO16FFYVoA,1905
7
7
  atendentepro/agents/confirmation.py,sha256=5Zg4z9A90CydYiEk8CEAKnnza71algFKF-N1WLwGDQI,2311
8
+ atendentepro/agents/escalation.py,sha256=YNA2e1Si30FJoIJkpos3B9imaR_Q6uv9K2o-F-Ht8rQ,17190
9
+ atendentepro/agents/feedback.py,sha256=xTFANEkFQaYIYQxlD6_hxTGAxfGUVwTM-rnfN0gT78Y,32996
8
10
  atendentepro/agents/flow.py,sha256=qWuPcjfm2peWjpHFUiq0P1blRk500LUUucb2Z9kT95Q,2056
9
11
  atendentepro/agents/interview.py,sha256=Tegfh3ZTr7__b_a0elyfn57u56yuS2pN_RB-8vOt-Os,2133
10
12
  atendentepro/agents/knowledge.py,sha256=M8XOJ_yxYRyuCaBxn-xFCCWE-MTx5bjyUi4-E2tSPL8,10080
@@ -18,9 +20,11 @@ atendentepro/guardrails/manager.py,sha256=KeyQkIfyPYuHIbuCPP-N4y2R3AJ6n2thkEO_av
18
20
  atendentepro/models/__init__.py,sha256=eUMq0Lw21PGItGliKHxFDeETIqOVqEwkXVOjgJPM5I0,390
19
21
  atendentepro/models/context.py,sha256=1WsoHEtXodgfd5JyZDZctV_2uabNq_XAKv0HKmWb-G8,543
20
22
  atendentepro/models/outputs.py,sha256=B573co699DhK0TSpqOHUykUOnBVa2Ool4rnNEO-xmUA,3270
21
- atendentepro/prompts/__init__.py,sha256=hoO_mqZ6XwdfnUUOUSYJ8LaHR6pQArh7IhNtHZRq5UQ,1026
22
- atendentepro/prompts/answer.py,sha256=nFaSDXWKLchk2kxN3ID6OfhOZBh7qLYD7y6bFlDYer8,4099
23
+ atendentepro/prompts/__init__.py,sha256=pks7i00GXGM9J3UnZyCn4dDVLb4C8xSJ_yWAvpK3OM4,1390
24
+ atendentepro/prompts/answer.py,sha256=0VBKRzOXXlxg0IfIq1Et0XlDpX3akKASNb9NY_pesuM,3916
23
25
  atendentepro/prompts/confirmation.py,sha256=zt1Ekl8ZVrAAKZ9xZHa3R343JG9VzuZVJYt1jZCg2jg,4141
26
+ atendentepro/prompts/escalation.py,sha256=KAG1saHTnXEcZO44WNcdn8JdvSHS46otreYWk7kMTmg,5600
27
+ atendentepro/prompts/feedback.py,sha256=PGDYz56_iOqvsttc_ZdRipUO_14DXLdmmzMHUldYPno,7111
24
28
  atendentepro/prompts/flow.py,sha256=BCuaiaZLZBrS3X4Lxo80JS8a94w-mmxlXwqE1259R_c,4078
25
29
  atendentepro/prompts/interview.py,sha256=9zVGA8zSmm6pBx2i1LPGNJIPuLlz7PZKRJE_PC6J7UI,3988
26
30
  atendentepro/prompts/knowledge.py,sha256=B3BOyAvzQlwAkR51gc-B6XbQLtwIZlwGP1ofhZ4cFbk,4644
@@ -31,9 +35,9 @@ atendentepro/templates/manager.py,sha256=KdE4khWDMD2S607TDTMkvJ8lZzQ9D_TD_lBaXYS
31
35
  atendentepro/utils/__init__.py,sha256=6EgS4DrW4fG17JdaHNKWMpzicigfFLVJO2VxPV73k9c,334
32
36
  atendentepro/utils/openai_client.py,sha256=R0ns7SU36vTgploq14-QJMTke1pPxcAXlENDeoHU0L4,4552
33
37
  atendentepro/utils/tracing.py,sha256=HQ3l4IiNcesCJ6l5qcERWyeBQav0G1ea-H8Rei6eQpE,2319
34
- atendentepro-0.3.0.dist-info/licenses/LICENSE,sha256=flIcFQ143WYRO80xQ0AaAlRdBbAJ6Y8zeLTdfYU5XsQ,976
35
- atendentepro-0.3.0.dist-info/METADATA,sha256=GUfKlkhORpcpDbgQT9J3ejsfvN59xkArOf2FiEnLccA,10258
36
- atendentepro-0.3.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
37
- atendentepro-0.3.0.dist-info/entry_points.txt,sha256=OP0upzqJF3MLS6VX-M-5BfUwx5YLJO2sJ3YBAp4e6yI,89
38
- atendentepro-0.3.0.dist-info/top_level.txt,sha256=BFasD4SMmgDUmWKlTIZ1PeuukoRBhyiMIz8umKWVCcs,13
39
- atendentepro-0.3.0.dist-info/RECORD,,
38
+ atendentepro-0.5.2.dist-info/licenses/LICENSE,sha256=TF6CdXxePoT9DXtPnCejiU5mUwWzrFzd1iyWJyoMauA,983
39
+ atendentepro-0.5.2.dist-info/METADATA,sha256=SDHv78lprWBDZb6XVnj013c3N4x3GGNV-kpPhwasbLg,12037
40
+ atendentepro-0.5.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
41
+ atendentepro-0.5.2.dist-info/entry_points.txt,sha256=OP0upzqJF3MLS6VX-M-5BfUwx5YLJO2sJ3YBAp4e6yI,89
42
+ atendentepro-0.5.2.dist-info/top_level.txt,sha256=BFasD4SMmgDUmWKlTIZ1PeuukoRBhyiMIz8umKWVCcs,13
43
+ atendentepro-0.5.2.dist-info/RECORD,,
@@ -9,7 +9,7 @@ modification, distribution, or use of this software, via any medium, is
9
9
  strictly prohibited without the express written permission of BeMonkAI.
10
10
 
11
11
  This software requires a valid license key for use. License keys can be
12
- obtained by contacting: contato@bemonkai.com
12
+ obtained by contacting: contato@monkai.com.br
13
13
 
14
14
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
15
  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
@@ -20,6 +20,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  SOFTWARE.
21
21
 
22
22
  For licensing inquiries:
23
- Email: contato@bemonkai.com
24
- Website: https://bemonkai.com
23
+ Email: contato@monkai.com.br
24
+ Website: https://www.monkai.com.br
25
25