house-lights 1.1.0 → 1.2.0
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.
- package/README.md +7 -3
- package/cli.mjs +3 -2
- package/package.json +4 -3
- package/skills/cast-list/assets/VERSION +2 -0
- package/skills/cast-list/assets/lesson.html +182 -0
- package/skills/cast-list/assets/map.html +244 -0
- package/skills/cast-list/examples/LICENSE-microsoft-skills-for-copilot-studio +21 -0
- package/skills/cast-list/examples/NOTICE.md +27 -0
- package/skills/cast-list/examples/agents/bodega-cupons/actions/ConsultarCuponsAtivos.mcs.yml +34 -0
- package/skills/cast-list/examples/agents/bodega-cupons/actions/EnviarCupomEmail.mcs.yml +34 -0
- package/skills/cast-list/examples/agents/bodega-cupons/actions/PromocoesMCP.mcs.yml +20 -0
- package/skills/cast-list/examples/agents/bodega-cupons/agent.mcs.yml +27 -0
- package/skills/cast-list/examples/agents/bodega-cupons/connectionreferences.mcs.yml +17 -0
- package/skills/cast-list/examples/agents/bodega-cupons/knowledge/RegulamentoCupons.knowledge.mcs.yml +7 -0
- package/skills/cast-list/examples/agents/bodega-cupons/settings.mcs.yml +13 -0
- package/skills/cast-list/examples/agents/bodega-cupons/topics/ConsultarRegulamentoCupons.topic.mcs.yml +56 -0
- package/skills/cast-list/examples/agents/bodega-cupons/topics/Escalate.topic.mcs.yml +20 -0
- package/skills/cast-list/examples/agents/bodega-cupons/topics/Fallback.topic.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-cupons/topics/Greeting.topic.mcs.yml +14 -0
- package/skills/cast-list/examples/agents/bodega-cupons/topics/OnError.topic.mcs.yml +48 -0
- package/skills/cast-list/examples/agents/bodega-cupons/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
- package/skills/cast-list/examples/agents/bodega-cupons/variables/CategoriaSolicitacao.mcs.yml +10 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/actions/AbrirSolicitacaoDevolucao.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/agent.mcs.yml +26 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/connectionreferences.mcs.yml +6 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/knowledge/PoliticaTrocasDevolucoes.knowledge.mcs.yml +7 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/settings.mcs.yml +13 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/topics/ConsultarPoliticaDevolucoes.topic.mcs.yml +56 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Escalate.topic.mcs.yml +20 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Fallback.topic.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Greeting.topic.mcs.yml +14 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/topics/OnError.topic.mcs.yml +48 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
- package/skills/cast-list/examples/agents/bodega-devolucoes/variables/CategoriaSolicitacao.mcs.yml +10 -0
- package/skills/cast-list/examples/agents/bodega-frete/actions/EnviarOpcoesFrete.mcs.yml +34 -0
- package/skills/cast-list/examples/agents/bodega-frete/agent.mcs.yml +26 -0
- package/skills/cast-list/examples/agents/bodega-frete/connectionreferences.mcs.yml +6 -0
- package/skills/cast-list/examples/agents/bodega-frete/knowledge/TabelaFreteEntregas.knowledge.mcs.yml +7 -0
- package/skills/cast-list/examples/agents/bodega-frete/settings.mcs.yml +13 -0
- package/skills/cast-list/examples/agents/bodega-frete/topics/ConsultarTabelaFrete.topic.mcs.yml +56 -0
- package/skills/cast-list/examples/agents/bodega-frete/topics/Fallback.topic.mcs.yml +31 -0
- package/skills/cast-list/examples/agents/bodega-frete/topics/Greeting.topic.mcs.yml +14 -0
- package/skills/cast-list/examples/agents/bodega-frete/topics/OnError.topic.mcs.yml +48 -0
- package/skills/cast-list/examples/agents/bodega-frete/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
- package/skills/cast-list/examples/agents/bodega-frete/variables/CategoriaSolicitacao.mcs.yml +10 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/actions/EnviarInstrucoesRetirada.mcs.yml +34 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/agent.mcs.yml +27 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/connectionreferences.mcs.yml +6 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/knowledge/GuiaLojaFisica.knowledge.mcs.yml +8 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/settings.mcs.yml +13 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/ConsultarGuiaLojaFisica.topic.mcs.yml +56 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Escalate.topic.mcs.yml +20 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Fallback.topic.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Greeting.topic.mcs.yml +14 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/OnError.topic.mcs.yml +43 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
- package/skills/cast-list/examples/agents/bodega-loja-fisica/variables/CategoriaSolicitacao.mcs.yml +10 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteCupons.mcs.yml +24 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteDevolucoes.mcs.yml +24 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteFrete.mcs.yml +24 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteLojaFisica.mcs.yml +24 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgentePedidos.mcs.yml +24 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/agent.mcs.yml +35 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/agents/SobreBodegaAzul/agent.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/settings.mcs.yml +12 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/topics/ClassificarSolicitacao.topic.mcs.yml +35 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Escalate.topic.mcs.yml +20 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Fallback.topic.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Greeting.topic.mcs.yml +14 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/topics/OnError.topic.mcs.yml +48 -0
- package/skills/cast-list/examples/agents/bodega-orquestrador/variables/CategoriaSolicitacao.mcs.yml +9 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/actions/EnviarResumoPedido.mcs.yml +34 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/agent.mcs.yml +26 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/connectionreferences.mcs.yml +6 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/knowledge/PoliticasPedidos.knowledge.mcs.yml +7 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/settings.mcs.yml +13 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/topics/ConsultarPoliticasPedidos.topic.mcs.yml +56 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/topics/Escalate.topic.mcs.yml +20 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/topics/Fallback.topic.mcs.yml +32 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/topics/Greeting.topic.mcs.yml +14 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/topics/OnError.topic.mcs.yml +48 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
- package/skills/cast-list/examples/agents/bodega-pedidos/variables/CategoriaSolicitacao.mcs.yml +10 -0
- package/skills/cast-list/examples/demo.cast.yaml +10 -0
- package/skills/cast-list/examples/profile.cast.yaml +15 -0
- package/skills/cast-list/references/format.md +50 -0
- package/skills/cast-list/references/keys.md +107 -0
- package/skills/cast-list/references/profile.md +32 -0
- package/skills/cast-list/scripts/browser.mjs +198 -0
- package/skills/cast-list/scripts/build.mjs +179 -0
- package/skills/cast-list/scripts/engine.mjs +155 -0
- package/skills/cast-list/scripts/page.mjs +15 -0
- package/skills/cast-list/scripts/read-xlsx.mjs +67 -0
- package/skills/cast-list/vendor/microsoft/LICENSE +21 -0
- package/skills/cast-list/vendor/microsoft/NOTICE +9 -0
- package/skills/cast-list/vendor/microsoft/package.json +1 -0
- package/skills/cast-list/vendor/microsoft/reference/bot.schema.yaml-authoring.json +27605 -0
- package/skills/cast-list/vendor/microsoft/scripts/schema-lookup.bundle.js +3495 -0
package/skills/cast-list/examples/agents/bodega-frete/topics/RecebimentoOrquestrador.topic.mcs.yml
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Recebimento do Orquestrador
|
|
3
|
+
description: Ponto de entrada quando o agente é chamado pelo orquestrador Bodega Azul como agente conectado.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
modelDescription: Inicializa o agente quando ele é chamado pelo orquestrador Bodega Azul e recebe a categoria da solicitação.
|
|
6
|
+
beginDialog:
|
|
7
|
+
kind: OnRedirect
|
|
8
|
+
id: main
|
|
9
|
+
actions:
|
|
10
|
+
- kind: SetVariable
|
|
11
|
+
id: setVariable_4KQSvY
|
|
12
|
+
variable: Global.CategoriaSolicitacao
|
|
13
|
+
value: =System.Activity.Value.CategoriaSolicitacao
|
|
14
|
+
|
|
15
|
+
inputType: {}
|
|
16
|
+
outputType: {}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Name: Categoria da Solicitação
|
|
2
|
+
# Categoria da solicitação do cliente definida pelo orquestrador Bodega Azul (Pedidos, Devolucoes, Frete, Cupons, LojaFisica, Outro).
|
|
3
|
+
name: CategoriaSolicitacao
|
|
4
|
+
aIVisibility: UseInAIContext
|
|
5
|
+
scope: Conversation
|
|
6
|
+
description: Categoria da solicitação do cliente definida pelo orquestrador Bodega Azul (Pedidos, Devolucoes, Frete, Cupons, LojaFisica, Outro).
|
|
7
|
+
schemaName: cr7b2_bodegaFrete.globalvariable.CategoriaSolicitacao
|
|
8
|
+
kind: GlobalVariableComponent
|
|
9
|
+
isExternalInitializationAllowed: true
|
|
10
|
+
defaultValue: =Blank()
|
package/skills/cast-list/examples/agents/bodega-loja-fisica/actions/EnviarInstrucoesRetirada.mcs.yml
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Enviar instruções de retirada por e-mail
|
|
3
|
+
description: "Envia ao cliente um e-mail com as instruções de retirada na loja."
|
|
4
|
+
kind: TaskDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: AutomaticTaskInput
|
|
7
|
+
propertyName: To
|
|
8
|
+
description: "Endereço de e-mail do cliente que vai receber as instruções de retirada."
|
|
9
|
+
entity: EmailPrebuiltEntity
|
|
10
|
+
shouldPromptUser: true
|
|
11
|
+
|
|
12
|
+
- kind: AutomaticTaskInput
|
|
13
|
+
propertyName: Subject
|
|
14
|
+
description: Assunto do e-mail, curto e em português.
|
|
15
|
+
entity: StringPrebuiltEntity
|
|
16
|
+
shouldPromptUser: false
|
|
17
|
+
|
|
18
|
+
- kind: AutomaticTaskInput
|
|
19
|
+
propertyName: Body
|
|
20
|
+
description: Corpo do e-mail em HTML simples, em português, com o resumo do que foi tratado na conversa.
|
|
21
|
+
entity: StringPrebuiltEntity
|
|
22
|
+
shouldPromptUser: false
|
|
23
|
+
|
|
24
|
+
modelDisplayName: Enviar instruções de retirada por e-mail
|
|
25
|
+
modelDescription: "Envia ao cliente, pelo Outlook, um e-mail com endereço, horário e documentos necessários para retirar o pedido na loja física. Use somente quando o cliente pedir."
|
|
26
|
+
action:
|
|
27
|
+
kind: InvokeConnectorTaskAction
|
|
28
|
+
connectionReference: cr7b2_bodegaLojaFisica.shared_office365.shared-office365-7954b623-6f24-4af3-b282-fa9c83913992
|
|
29
|
+
connectionProperties:
|
|
30
|
+
mode: Maker
|
|
31
|
+
|
|
32
|
+
operationId: SendEmailV2
|
|
33
|
+
|
|
34
|
+
outputMode: All
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Bodega Azul - Loja Física
|
|
3
|
+
kind: GptComponentMetadata
|
|
4
|
+
displayName: Bodega Azul - Loja Física
|
|
5
|
+
instructions: |
|
|
6
|
+
Você é o especialista em loja física e retirada da Bodega Azul.
|
|
7
|
+
|
|
8
|
+
Responsabilidades:
|
|
9
|
+
- Informar endereço, horário de funcionamento e serviços da loja física
|
|
10
|
+
- Explicar como funciona a retirada na loja de compras feitas no site
|
|
11
|
+
- Usar a base "Guia da Loja Física" para responder
|
|
12
|
+
- Enviar ao cliente, quando ele pedir, um e-mail com as instruções de retirada
|
|
13
|
+
|
|
14
|
+
Regras:
|
|
15
|
+
- Responda sempre em português do Brasil
|
|
16
|
+
- Confirme o número do pedido antes de dar instruções de retirada
|
|
17
|
+
- Horários especiais de feriado só valem se estiverem no guia
|
|
18
|
+
conversationStarters:
|
|
19
|
+
- title: "Horário da loja"
|
|
20
|
+
text: "Qual o horário de funcionamento da loja física?"
|
|
21
|
+
|
|
22
|
+
- title: "Retirada"
|
|
23
|
+
text: "Como faço para retirar meu pedido na loja?"
|
|
24
|
+
|
|
25
|
+
aISettings:
|
|
26
|
+
model:
|
|
27
|
+
modelNameHint: GPT5Chat
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
kind: ConnectionReferencesSourceFile
|
|
2
|
+
connectionReferences:
|
|
3
|
+
- id: 7990f5d8-cba3-42ae-a84d-01f7850fca85
|
|
4
|
+
connectionReferenceLogicalName: cr7b2_bodegaLojaFisica.shared_office365.shared-office365-7954b623-6f24-4af3-b282-fa9c83913992
|
|
5
|
+
connectorId: /providers/Microsoft.PowerApps/apis/shared_office365
|
|
6
|
+
displayName: Office 365 Outlook
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Guia da Loja Física
|
|
3
|
+
description: "Endereço, horários, serviços e regras de retirada na loja física da Bodega Azul."
|
|
4
|
+
kind: KnowledgeSourceConfiguration
|
|
5
|
+
source:
|
|
6
|
+
kind: SharePointSearchSource
|
|
7
|
+
triggerCondition: =Or(IsBlank(Global.CategoriaSolicitacao), Global.CategoriaSolicitacao = "LojaFisica")
|
|
8
|
+
site: https://bodegaazul.sharepoint.com/sites/Varejo/Shared%20Documents/LojaFisica
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
displayName: Bodega Azul - Loja Física
|
|
2
|
+
schemaName: cr7b2_bodegaLojaFisica
|
|
3
|
+
accessControlPolicy: ChatbotReaders
|
|
4
|
+
authenticationMode: None
|
|
5
|
+
configuration:
|
|
6
|
+
isAgentConnectable: true
|
|
7
|
+
settings:
|
|
8
|
+
GenerativeActionsEnabled: true
|
|
9
|
+
|
|
10
|
+
recognizer:
|
|
11
|
+
kind: GenerativeAIRecognizer
|
|
12
|
+
|
|
13
|
+
language: 1046
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Consultar Guia da Loja Física
|
|
3
|
+
description: "Responde dúvidas sobre a loja física com base no guia publicado no SharePoint."
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: AutomaticTaskInput
|
|
7
|
+
propertyName: PerguntaCliente
|
|
8
|
+
description: "A pergunta do cliente sobre a loja física ou a retirada de um pedido."
|
|
9
|
+
shouldPromptUser: true
|
|
10
|
+
|
|
11
|
+
modelDescription: "Responde perguntas sobre endereço, horário de funcionamento, serviços e retirada de pedidos na loja física da Bodega Azul."
|
|
12
|
+
beginDialog:
|
|
13
|
+
kind: OnRecognizedIntent
|
|
14
|
+
id: main
|
|
15
|
+
intent: {}
|
|
16
|
+
actions:
|
|
17
|
+
- kind: CreateSearchQuery
|
|
18
|
+
id: createSearchQuery_XKzVC7
|
|
19
|
+
userInput: =Topic.PerguntaCliente
|
|
20
|
+
result: Topic.SearchQuery
|
|
21
|
+
|
|
22
|
+
- kind: SearchAndSummarizeContent
|
|
23
|
+
id: searchContent_EnqfPO
|
|
24
|
+
autoSend: false
|
|
25
|
+
variable: Topic.SearchResult
|
|
26
|
+
userInput: =Topic.SearchQuery.SearchQuery
|
|
27
|
+
fileSearchDataSource:
|
|
28
|
+
searchFilesMode:
|
|
29
|
+
kind: DoNotSearchFiles
|
|
30
|
+
|
|
31
|
+
knowledgeSources:
|
|
32
|
+
kind: SearchSpecificKnowledgeSources
|
|
33
|
+
knowledgeSources:
|
|
34
|
+
- cr7b2_bodegaLojaFisica.knowledge.GuiaLojaFisica
|
|
35
|
+
|
|
36
|
+
applyModelKnowledgeSetting: false
|
|
37
|
+
responseCaptureType: FullResponse
|
|
38
|
+
|
|
39
|
+
- kind: SetVariable
|
|
40
|
+
id: setVariable_Hb8Wzj
|
|
41
|
+
variable: Topic.Resposta
|
|
42
|
+
value: =Topic.SearchResult.Text.Content
|
|
43
|
+
|
|
44
|
+
inputType:
|
|
45
|
+
properties:
|
|
46
|
+
PerguntaCliente:
|
|
47
|
+
displayName: PerguntaCliente
|
|
48
|
+
description: "A pergunta do cliente sobre a loja física ou a retirada de um pedido."
|
|
49
|
+
type: String
|
|
50
|
+
|
|
51
|
+
outputType:
|
|
52
|
+
properties:
|
|
53
|
+
Resposta:
|
|
54
|
+
displayName: Resposta
|
|
55
|
+
description: Resposta fundamentada na base de conhecimento do agente.
|
|
56
|
+
type: String
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Escalar
|
|
3
|
+
description: Acionado quando o cliente pede para falar com uma pessoa.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnEscalate
|
|
7
|
+
id: main
|
|
8
|
+
intent:
|
|
9
|
+
displayName: Escalar
|
|
10
|
+
includeInOnSelectIntent: false
|
|
11
|
+
triggerQueries:
|
|
12
|
+
- Falar com um atendente
|
|
13
|
+
- Quero falar com uma pessoa
|
|
14
|
+
- Atendimento humano
|
|
15
|
+
- Me transfere para alguém
|
|
16
|
+
|
|
17
|
+
actions:
|
|
18
|
+
- kind: SendActivity
|
|
19
|
+
id: sendMessage_OGouQR
|
|
20
|
+
activity: "A transferência para um atendente ainda não está disponível neste canal. Fale com a nossa equipe pelo e-mail loja@bodegaazul.example, de segunda a sábado, das 9h às 18h."
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Fallback
|
|
3
|
+
description: Acionado quando nenhum tópico ou ferramenta corresponde à mensagem do cliente.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnUnknownIntent
|
|
7
|
+
id: main
|
|
8
|
+
priority: -1
|
|
9
|
+
actions:
|
|
10
|
+
- kind: ConditionGroup
|
|
11
|
+
id: conditionGroup_ntofKN
|
|
12
|
+
conditions:
|
|
13
|
+
- id: conditionItem_9l9haQ
|
|
14
|
+
condition: =System.FallbackCount < 3
|
|
15
|
+
actions:
|
|
16
|
+
- kind: SendActivity
|
|
17
|
+
id: sendMessage_luRZkn
|
|
18
|
+
activity:
|
|
19
|
+
text:
|
|
20
|
+
- "Desculpe, não entendi. Pode reformular a sua pergunta?"
|
|
21
|
+
- "Não captei bem. Pode tentar explicar de outro jeito?"
|
|
22
|
+
|
|
23
|
+
elseActions:
|
|
24
|
+
- kind: SendActivity
|
|
25
|
+
id: sendMessage_sI3CUS
|
|
26
|
+
activity:
|
|
27
|
+
text:
|
|
28
|
+
- "Estou com dificuldade para entender o seu pedido. Vou te encaminhar para alguém da equipe Bodega Azul."
|
|
29
|
+
|
|
30
|
+
- kind: BeginDialog
|
|
31
|
+
id: beginDialog_kw6sI2
|
|
32
|
+
dialog: cr7b2_bodegaLojaFisica.topic.Escalate
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Saudação
|
|
3
|
+
description: Mensagem de boas-vindas enviada no início da conversa.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnConversationStart
|
|
7
|
+
id: main
|
|
8
|
+
actions:
|
|
9
|
+
- kind: SendActivity
|
|
10
|
+
id: sendMessage_ygbWUz
|
|
11
|
+
activity:
|
|
12
|
+
text:
|
|
13
|
+
- "Olá! Eu sou o {System.Bot.Name}. Quer saber sobre a nossa loja física ou retirada de pedidos?"
|
|
14
|
+
- "Oi! Aqui é o especialista em loja física da Bodega Azul. Como posso ajudar?"
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Em caso de erro
|
|
3
|
+
description: Tratamento de erros do agente.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
startBehavior: UseLatestPublishedContentAndCancelOtherTopics
|
|
6
|
+
beginDialog:
|
|
7
|
+
kind: OnError
|
|
8
|
+
id: main
|
|
9
|
+
actions:
|
|
10
|
+
- kind: SetVariable
|
|
11
|
+
id: setVariable_9IHJE1
|
|
12
|
+
variable: init:Topic.CurrentTime
|
|
13
|
+
value: =Text(Now(), DateTimeFormat.UTC)
|
|
14
|
+
|
|
15
|
+
- kind: ConditionGroup
|
|
16
|
+
id: conditionGroup_0PSyKa
|
|
17
|
+
conditions:
|
|
18
|
+
- id: conditionItem_gbUv9B
|
|
19
|
+
condition: =System.Conversation.InTestMode = true
|
|
20
|
+
actions:
|
|
21
|
+
- kind: SendActivity
|
|
22
|
+
id: sendMessage_G87OYQ
|
|
23
|
+
activity: |-
|
|
24
|
+
Mensagem de erro: {System.Error.Message}
|
|
25
|
+
Código do erro: {System.Error.Code}
|
|
26
|
+
Id da conversa: {System.Conversation.Id}
|
|
27
|
+
Horário (UTC): {Topic.CurrentTime}
|
|
28
|
+
|
|
29
|
+
elseActions:
|
|
30
|
+
- kind: SendActivity
|
|
31
|
+
id: sendMessage_ilfzDk
|
|
32
|
+
activity:
|
|
33
|
+
text:
|
|
34
|
+
- |-
|
|
35
|
+
Ocorreu um erro.
|
|
36
|
+
Código do erro: {System.Error.Code}
|
|
37
|
+
Id da conversa: {System.Conversation.Id}
|
|
38
|
+
Horário (UTC): {Topic.CurrentTime}.
|
|
39
|
+
speak:
|
|
40
|
+
- Ocorreu um erro, por favor tente novamente.
|
|
41
|
+
|
|
42
|
+
- kind: CancelAllDialogs
|
|
43
|
+
id: cancelAllDialogs_3THlIi
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Recebimento do Orquestrador
|
|
3
|
+
description: Ponto de entrada quando o agente é chamado pelo orquestrador Bodega Azul como agente conectado.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
modelDescription: Inicializa o agente quando ele é chamado pelo orquestrador Bodega Azul e recebe a categoria da solicitação.
|
|
6
|
+
beginDialog:
|
|
7
|
+
kind: OnRedirect
|
|
8
|
+
id: main
|
|
9
|
+
actions:
|
|
10
|
+
- kind: SetVariable
|
|
11
|
+
id: setVariable_9CdN6h
|
|
12
|
+
variable: Global.CategoriaSolicitacao
|
|
13
|
+
value: =System.Activity.Value.CategoriaSolicitacao
|
|
14
|
+
|
|
15
|
+
inputType: {}
|
|
16
|
+
outputType: {}
|
package/skills/cast-list/examples/agents/bodega-loja-fisica/variables/CategoriaSolicitacao.mcs.yml
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Name: Categoria da Solicitação
|
|
2
|
+
# Categoria da solicitação do cliente definida pelo orquestrador Bodega Azul (Pedidos, Devolucoes, Frete, Cupons, LojaFisica, Outro).
|
|
3
|
+
name: CategoriaSolicitacao
|
|
4
|
+
aIVisibility: UseInAIContext
|
|
5
|
+
scope: Conversation
|
|
6
|
+
description: Categoria da solicitação do cliente definida pelo orquestrador Bodega Azul (Pedidos, Devolucoes, Frete, Cupons, LojaFisica, Outro).
|
|
7
|
+
schemaName: cr7b2_bodegaLojaFisica.globalvariable.CategoriaSolicitacao
|
|
8
|
+
kind: GlobalVariableComponent
|
|
9
|
+
isExternalInitializationAllowed: true
|
|
10
|
+
defaultValue: =Blank()
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Agente Cupons
|
|
3
|
+
description: Agente conectado Bodega Azul - Cupons.
|
|
4
|
+
kind: TaskDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: ManualTaskInput
|
|
7
|
+
propertyName: CategoriaSolicitacao
|
|
8
|
+
value: =Global.CategoriaSolicitacao
|
|
9
|
+
|
|
10
|
+
modelDisplayName: Bodega Azul - Cupons
|
|
11
|
+
modelDescription: "Agente especialista em cupons e promoções: validação de códigos, regras de uso e campanhas vigentes. Use quando a categoria for Cupons."
|
|
12
|
+
action:
|
|
13
|
+
kind: InvokeConnectedAgentTaskAction
|
|
14
|
+
inputType:
|
|
15
|
+
properties:
|
|
16
|
+
CategoriaSolicitacao:
|
|
17
|
+
displayName: CategoriaSolicitacao
|
|
18
|
+
description: Categoria da solicitação definida pelo orquestrador.
|
|
19
|
+
isRequired: true
|
|
20
|
+
type: String
|
|
21
|
+
|
|
22
|
+
botSchemaName: cr7b2_bodegaCupons
|
|
23
|
+
historyType:
|
|
24
|
+
kind: ConversationHistory
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Agente Devoluções
|
|
3
|
+
description: Agente conectado Bodega Azul - Devoluções.
|
|
4
|
+
kind: TaskDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: ManualTaskInput
|
|
7
|
+
propertyName: CategoriaSolicitacao
|
|
8
|
+
value: =Global.CategoriaSolicitacao
|
|
9
|
+
|
|
10
|
+
modelDisplayName: Bodega Azul - Devoluções
|
|
11
|
+
modelDescription: "Agente especialista em trocas e devoluções: prazo de arrependimento, etiqueta de devolução e reembolso. Use quando a categoria for Devolucoes."
|
|
12
|
+
action:
|
|
13
|
+
kind: InvokeConnectedAgentTaskAction
|
|
14
|
+
inputType:
|
|
15
|
+
properties:
|
|
16
|
+
CategoriaSolicitacao:
|
|
17
|
+
displayName: CategoriaSolicitacao
|
|
18
|
+
description: Categoria da solicitação definida pelo orquestrador.
|
|
19
|
+
isRequired: true
|
|
20
|
+
type: String
|
|
21
|
+
|
|
22
|
+
botSchemaName: cr7b2_bodegaDevolucoes
|
|
23
|
+
historyType:
|
|
24
|
+
kind: ConversationHistory
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Agente Frete
|
|
3
|
+
description: Agente conectado Bodega Azul - Frete.
|
|
4
|
+
kind: TaskDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: ManualTaskInput
|
|
7
|
+
propertyName: CategoriaSolicitacao
|
|
8
|
+
value: =Global.CategoriaSolicitacao
|
|
9
|
+
|
|
10
|
+
modelDisplayName: Bodega Azul - Frete
|
|
11
|
+
modelDescription: "Agente especialista em frete e entregas: modalidades, prazos por região e frete grátis. Use quando a categoria for Frete."
|
|
12
|
+
action:
|
|
13
|
+
kind: InvokeConnectedAgentTaskAction
|
|
14
|
+
inputType:
|
|
15
|
+
properties:
|
|
16
|
+
CategoriaSolicitacao:
|
|
17
|
+
displayName: CategoriaSolicitacao
|
|
18
|
+
description: Categoria da solicitação definida pelo orquestrador.
|
|
19
|
+
isRequired: true
|
|
20
|
+
type: String
|
|
21
|
+
|
|
22
|
+
botSchemaName: cr7b2_bodegaFrete
|
|
23
|
+
historyType:
|
|
24
|
+
kind: ConversationHistory
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Agente Loja Física
|
|
3
|
+
description: Agente conectado Bodega Azul - Loja Física.
|
|
4
|
+
kind: TaskDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: ManualTaskInput
|
|
7
|
+
propertyName: CategoriaSolicitacao
|
|
8
|
+
value: =Global.CategoriaSolicitacao
|
|
9
|
+
|
|
10
|
+
modelDisplayName: Bodega Azul - Loja Física
|
|
11
|
+
modelDescription: "Agente especialista na loja física: endereço, horário, serviços e retirada de pedidos. Use quando a categoria for LojaFisica."
|
|
12
|
+
action:
|
|
13
|
+
kind: InvokeConnectedAgentTaskAction
|
|
14
|
+
inputType:
|
|
15
|
+
properties:
|
|
16
|
+
CategoriaSolicitacao:
|
|
17
|
+
displayName: CategoriaSolicitacao
|
|
18
|
+
description: Categoria da solicitação definida pelo orquestrador.
|
|
19
|
+
isRequired: true
|
|
20
|
+
type: String
|
|
21
|
+
|
|
22
|
+
botSchemaName: cr7b2_bodegaLojaFisica
|
|
23
|
+
historyType:
|
|
24
|
+
kind: ConversationHistory
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Agente Pedidos
|
|
3
|
+
description: Agente conectado Bodega Azul - Pedidos.
|
|
4
|
+
kind: TaskDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: ManualTaskInput
|
|
7
|
+
propertyName: CategoriaSolicitacao
|
|
8
|
+
value: =Global.CategoriaSolicitacao
|
|
9
|
+
|
|
10
|
+
modelDisplayName: Bodega Azul - Pedidos
|
|
11
|
+
modelDescription: "Agente especialista em pedidos: status, prazos de processamento, cancelamento antes do envio e formas de pagamento. Use quando a categoria for Pedidos."
|
|
12
|
+
action:
|
|
13
|
+
kind: InvokeConnectedAgentTaskAction
|
|
14
|
+
inputType:
|
|
15
|
+
properties:
|
|
16
|
+
CategoriaSolicitacao:
|
|
17
|
+
displayName: CategoriaSolicitacao
|
|
18
|
+
description: Categoria da solicitação definida pelo orquestrador.
|
|
19
|
+
isRequired: true
|
|
20
|
+
type: String
|
|
21
|
+
|
|
22
|
+
botSchemaName: cr7b2_bodegaPedidos
|
|
23
|
+
historyType:
|
|
24
|
+
kind: ConversationHistory
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Bodega Azul - Orquestrador
|
|
3
|
+
kind: GptComponentMetadata
|
|
4
|
+
displayName: Bodega Azul - Orquestrador
|
|
5
|
+
instructions: |
|
|
6
|
+
Você é o assistente virtual da Bodega Azul, uma loja online. Você não responde sozinho às dúvidas
|
|
7
|
+
de atendimento: o seu papel é entender a solicitação e encaminhá-la ao especialista certo.
|
|
8
|
+
|
|
9
|
+
Como trabalhar:
|
|
10
|
+
1. Antes de acionar um especialista, use o tópico "Classificar Solicitação" para definir a categoria.
|
|
11
|
+
2. Encaminhe conforme a categoria:
|
|
12
|
+
- Pedidos: agente "Bodega Azul - Pedidos"
|
|
13
|
+
- Devolucoes: agente "Bodega Azul - Devoluções"
|
|
14
|
+
- Frete: agente "Bodega Azul - Frete"
|
|
15
|
+
- Cupons: agente "Bodega Azul - Cupons"
|
|
16
|
+
- LojaFisica: agente "Bodega Azul - Loja Física"
|
|
17
|
+
- Outro: se for uma pergunta geral sobre a empresa, use o agente "Sobre a Bodega Azul"
|
|
18
|
+
3. Repasse a resposta do especialista ao cliente sem inventar informações.
|
|
19
|
+
|
|
20
|
+
Regras:
|
|
21
|
+
- Responda sempre em português do Brasil, de forma cordial e objetiva
|
|
22
|
+
- Se o cliente pedir para falar com uma pessoa, use o tópico de escalonamento
|
|
23
|
+
conversationStarters:
|
|
24
|
+
- title: "Meu pedido"
|
|
25
|
+
text: "Onde está o meu pedido?"
|
|
26
|
+
|
|
27
|
+
- title: "Trocas"
|
|
28
|
+
text: "Quero devolver um produto"
|
|
29
|
+
|
|
30
|
+
- title: "Cupons"
|
|
31
|
+
text: "Tenho um cupom de desconto"
|
|
32
|
+
|
|
33
|
+
aISettings:
|
|
34
|
+
model:
|
|
35
|
+
modelNameHint: GPT5Chat
|
package/skills/cast-list/examples/agents/bodega-orquestrador/agents/SobreBodegaAzul/agent.mcs.yml
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Name: Sobre a Bodega Azul
|
|
2
|
+
# SobreBodegaAzul
|
|
3
|
+
kind: AgentDialog
|
|
4
|
+
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnToolSelected
|
|
7
|
+
id: main
|
|
8
|
+
description: Responde perguntas gerais sobre a Bodega Azul que não são de pedidos, devoluções, frete, cupons ou loja física, como canais de contato, horário do atendimento online e quem somos. Exemplos "Qual o telefone de vocês?", "A Bodega Azul tem aplicativo?".
|
|
9
|
+
|
|
10
|
+
settings:
|
|
11
|
+
instructions: |
|
|
12
|
+
Você responde perguntas gerais e institucionais sobre a Bodega Azul, uma loja online fictícia.
|
|
13
|
+
|
|
14
|
+
Regras:
|
|
15
|
+
- Responda em português do Brasil, em no máximo três frases
|
|
16
|
+
- Canais oficiais: site, e-mail atendimento@bodegaazul.example e chat
|
|
17
|
+
- Atendimento online: de segunda a sábado, das 9h às 18h
|
|
18
|
+
- Se a pergunta for sobre pedidos, devoluções, frete, cupons ou loja física, diga que outro especialista cuida disso
|
|
19
|
+
|
|
20
|
+
inputs:
|
|
21
|
+
- kind: AutomaticTaskInput
|
|
22
|
+
propertyName: PerguntaGeral
|
|
23
|
+
description: A pergunta geral do cliente sobre a Bodega Azul.
|
|
24
|
+
|
|
25
|
+
inputType:
|
|
26
|
+
properties:
|
|
27
|
+
PerguntaGeral:
|
|
28
|
+
displayName: Pergunta Geral
|
|
29
|
+
description: A pergunta geral do cliente sobre a Bodega Azul.
|
|
30
|
+
type: String
|
|
31
|
+
|
|
32
|
+
outputType: {}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
displayName: Bodega Azul - Orquestrador
|
|
2
|
+
schemaName: cr7b2_bodegaOrquestrador
|
|
3
|
+
accessControlPolicy: ChatbotReaders
|
|
4
|
+
authenticationMode: None
|
|
5
|
+
configuration:
|
|
6
|
+
settings:
|
|
7
|
+
GenerativeActionsEnabled: true
|
|
8
|
+
|
|
9
|
+
recognizer:
|
|
10
|
+
kind: GenerativeAIRecognizer
|
|
11
|
+
|
|
12
|
+
language: 1046
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Classificar Solicitação
|
|
3
|
+
description: Define a categoria da solicitação do cliente para encaminhar ao especialista certo.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
inputs:
|
|
6
|
+
- kind: AutomaticTaskInput
|
|
7
|
+
propertyName: CategoriaSolicitacao
|
|
8
|
+
description: |-
|
|
9
|
+
Classifique a solicitação do cliente em exatamente uma destas categorias:
|
|
10
|
+
Pedidos, Devolucoes, Frete, Cupons, LojaFisica, Outro
|
|
11
|
+
Use Outro quando nenhuma das demais se aplicar.
|
|
12
|
+
shouldPromptUser: false
|
|
13
|
+
|
|
14
|
+
modelDescription: Classifica a solicitação do cliente (pedidos, devoluções, frete, cupons, loja física ou outro) antes de acionar um agente especialista. Use sempre antes de chamar um especialista.
|
|
15
|
+
beginDialog:
|
|
16
|
+
kind: OnRecognizedIntent
|
|
17
|
+
id: main
|
|
18
|
+
intent: {}
|
|
19
|
+
actions:
|
|
20
|
+
- kind: SetVariable
|
|
21
|
+
id: setVariable_K5k7Ur
|
|
22
|
+
variable: Global.CategoriaSolicitacao
|
|
23
|
+
value: =Topic.CategoriaSolicitacao
|
|
24
|
+
|
|
25
|
+
inputType:
|
|
26
|
+
properties:
|
|
27
|
+
CategoriaSolicitacao:
|
|
28
|
+
displayName: CategoriaSolicitacao
|
|
29
|
+
description: |-
|
|
30
|
+
Classifique a solicitação do cliente em exatamente uma destas categorias:
|
|
31
|
+
Pedidos, Devolucoes, Frete, Cupons, LojaFisica, Outro
|
|
32
|
+
Use Outro quando nenhuma das demais se aplicar.
|
|
33
|
+
type: String
|
|
34
|
+
|
|
35
|
+
outputType: {}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Escalar
|
|
3
|
+
description: Acionado quando o cliente pede para falar com uma pessoa.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnEscalate
|
|
7
|
+
id: main
|
|
8
|
+
intent:
|
|
9
|
+
displayName: Escalar
|
|
10
|
+
includeInOnSelectIntent: false
|
|
11
|
+
triggerQueries:
|
|
12
|
+
- Falar com um atendente
|
|
13
|
+
- Quero falar com uma pessoa
|
|
14
|
+
- Atendimento humano
|
|
15
|
+
- Me transfere para alguém
|
|
16
|
+
|
|
17
|
+
actions:
|
|
18
|
+
- kind: SendActivity
|
|
19
|
+
id: sendMessage_IQGdOf
|
|
20
|
+
activity: "A transferência para um atendente ainda não está disponível neste canal. Fale com a nossa equipe pelo e-mail atendimento@bodegaazul.example, de segunda a sábado, das 9h às 18h."
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Fallback
|
|
3
|
+
description: Acionado quando nenhum tópico ou ferramenta corresponde à mensagem do cliente.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnUnknownIntent
|
|
7
|
+
id: main
|
|
8
|
+
priority: -1
|
|
9
|
+
actions:
|
|
10
|
+
- kind: ConditionGroup
|
|
11
|
+
id: conditionGroup_NDmY95
|
|
12
|
+
conditions:
|
|
13
|
+
- id: conditionItem_MlTJAK
|
|
14
|
+
condition: =System.FallbackCount < 3
|
|
15
|
+
actions:
|
|
16
|
+
- kind: SendActivity
|
|
17
|
+
id: sendMessage_ZCLuZm
|
|
18
|
+
activity:
|
|
19
|
+
text:
|
|
20
|
+
- "Desculpe, não entendi. Pode reformular a sua pergunta?"
|
|
21
|
+
- "Não captei bem. Pode tentar explicar de outro jeito?"
|
|
22
|
+
|
|
23
|
+
elseActions:
|
|
24
|
+
- kind: SendActivity
|
|
25
|
+
id: sendMessage_khAcW1
|
|
26
|
+
activity:
|
|
27
|
+
text:
|
|
28
|
+
- "Estou com dificuldade para entender o seu pedido. Vou te encaminhar para alguém da equipe Bodega Azul."
|
|
29
|
+
|
|
30
|
+
- kind: BeginDialog
|
|
31
|
+
id: beginDialog_PmX7zH
|
|
32
|
+
dialog: cr7b2_bodegaOrquestrador.topic.Escalate
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
mcs.metadata:
|
|
2
|
+
componentName: Saudação
|
|
3
|
+
description: Mensagem de boas-vindas enviada no início da conversa.
|
|
4
|
+
kind: AdaptiveDialog
|
|
5
|
+
beginDialog:
|
|
6
|
+
kind: OnConversationStart
|
|
7
|
+
id: main
|
|
8
|
+
actions:
|
|
9
|
+
- kind: SendActivity
|
|
10
|
+
id: sendMessage_Ke9yOP
|
|
11
|
+
activity:
|
|
12
|
+
text:
|
|
13
|
+
- "Olá! Eu sou o {System.Bot.Name}, o assistente virtual da Bodega Azul. Como posso ajudar hoje?"
|
|
14
|
+
- "Oi! Bem-vindo à Bodega Azul. Posso ajudar com pedidos, trocas, frete, cupons ou a nossa loja física."
|