house-lights 1.1.0 → 1.2.1

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.
Files changed (98) hide show
  1. package/README.md +7 -3
  2. package/cli.mjs +3 -2
  3. package/package.json +4 -3
  4. package/skills/cast-list/assets/VERSION +2 -0
  5. package/skills/cast-list/assets/lesson.html +182 -0
  6. package/skills/cast-list/assets/map.html +245 -0
  7. package/skills/cast-list/examples/LICENSE-microsoft-skills-for-copilot-studio +21 -0
  8. package/skills/cast-list/examples/NOTICE.md +27 -0
  9. package/skills/cast-list/examples/agents/bodega-cupons/actions/ConsultarCuponsAtivos.mcs.yml +34 -0
  10. package/skills/cast-list/examples/agents/bodega-cupons/actions/EnviarCupomEmail.mcs.yml +34 -0
  11. package/skills/cast-list/examples/agents/bodega-cupons/actions/PromocoesMCP.mcs.yml +20 -0
  12. package/skills/cast-list/examples/agents/bodega-cupons/agent.mcs.yml +27 -0
  13. package/skills/cast-list/examples/agents/bodega-cupons/connectionreferences.mcs.yml +17 -0
  14. package/skills/cast-list/examples/agents/bodega-cupons/knowledge/RegulamentoCupons.knowledge.mcs.yml +7 -0
  15. package/skills/cast-list/examples/agents/bodega-cupons/settings.mcs.yml +13 -0
  16. package/skills/cast-list/examples/agents/bodega-cupons/topics/ConsultarRegulamentoCupons.topic.mcs.yml +56 -0
  17. package/skills/cast-list/examples/agents/bodega-cupons/topics/Escalate.topic.mcs.yml +20 -0
  18. package/skills/cast-list/examples/agents/bodega-cupons/topics/Fallback.topic.mcs.yml +32 -0
  19. package/skills/cast-list/examples/agents/bodega-cupons/topics/Greeting.topic.mcs.yml +14 -0
  20. package/skills/cast-list/examples/agents/bodega-cupons/topics/OnError.topic.mcs.yml +48 -0
  21. package/skills/cast-list/examples/agents/bodega-cupons/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  22. package/skills/cast-list/examples/agents/bodega-cupons/variables/CategoriaSolicitacao.mcs.yml +10 -0
  23. package/skills/cast-list/examples/agents/bodega-devolucoes/actions/AbrirSolicitacaoDevolucao.mcs.yml +32 -0
  24. package/skills/cast-list/examples/agents/bodega-devolucoes/agent.mcs.yml +26 -0
  25. package/skills/cast-list/examples/agents/bodega-devolucoes/connectionreferences.mcs.yml +6 -0
  26. package/skills/cast-list/examples/agents/bodega-devolucoes/knowledge/PoliticaTrocasDevolucoes.knowledge.mcs.yml +7 -0
  27. package/skills/cast-list/examples/agents/bodega-devolucoes/settings.mcs.yml +13 -0
  28. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/ConsultarPoliticaDevolucoes.topic.mcs.yml +56 -0
  29. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Escalate.topic.mcs.yml +20 -0
  30. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Fallback.topic.mcs.yml +32 -0
  31. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/Greeting.topic.mcs.yml +14 -0
  32. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/OnError.topic.mcs.yml +48 -0
  33. package/skills/cast-list/examples/agents/bodega-devolucoes/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  34. package/skills/cast-list/examples/agents/bodega-devolucoes/variables/CategoriaSolicitacao.mcs.yml +10 -0
  35. package/skills/cast-list/examples/agents/bodega-frete/actions/EnviarOpcoesFrete.mcs.yml +34 -0
  36. package/skills/cast-list/examples/agents/bodega-frete/agent.mcs.yml +26 -0
  37. package/skills/cast-list/examples/agents/bodega-frete/connectionreferences.mcs.yml +6 -0
  38. package/skills/cast-list/examples/agents/bodega-frete/knowledge/TabelaFreteEntregas.knowledge.mcs.yml +7 -0
  39. package/skills/cast-list/examples/agents/bodega-frete/settings.mcs.yml +13 -0
  40. package/skills/cast-list/examples/agents/bodega-frete/topics/ConsultarTabelaFrete.topic.mcs.yml +56 -0
  41. package/skills/cast-list/examples/agents/bodega-frete/topics/Fallback.topic.mcs.yml +31 -0
  42. package/skills/cast-list/examples/agents/bodega-frete/topics/Greeting.topic.mcs.yml +14 -0
  43. package/skills/cast-list/examples/agents/bodega-frete/topics/OnError.topic.mcs.yml +48 -0
  44. package/skills/cast-list/examples/agents/bodega-frete/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  45. package/skills/cast-list/examples/agents/bodega-frete/variables/CategoriaSolicitacao.mcs.yml +10 -0
  46. package/skills/cast-list/examples/agents/bodega-loja-fisica/actions/EnviarInstrucoesRetirada.mcs.yml +34 -0
  47. package/skills/cast-list/examples/agents/bodega-loja-fisica/agent.mcs.yml +27 -0
  48. package/skills/cast-list/examples/agents/bodega-loja-fisica/connectionreferences.mcs.yml +6 -0
  49. package/skills/cast-list/examples/agents/bodega-loja-fisica/knowledge/GuiaLojaFisica.knowledge.mcs.yml +8 -0
  50. package/skills/cast-list/examples/agents/bodega-loja-fisica/settings.mcs.yml +13 -0
  51. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/ConsultarGuiaLojaFisica.topic.mcs.yml +56 -0
  52. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Escalate.topic.mcs.yml +20 -0
  53. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Fallback.topic.mcs.yml +32 -0
  54. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/Greeting.topic.mcs.yml +14 -0
  55. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/OnError.topic.mcs.yml +43 -0
  56. package/skills/cast-list/examples/agents/bodega-loja-fisica/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  57. package/skills/cast-list/examples/agents/bodega-loja-fisica/variables/CategoriaSolicitacao.mcs.yml +10 -0
  58. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteCupons.mcs.yml +24 -0
  59. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteDevolucoes.mcs.yml +24 -0
  60. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteFrete.mcs.yml +24 -0
  61. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgenteLojaFisica.mcs.yml +24 -0
  62. package/skills/cast-list/examples/agents/bodega-orquestrador/actions/AgentePedidos.mcs.yml +24 -0
  63. package/skills/cast-list/examples/agents/bodega-orquestrador/agent.mcs.yml +35 -0
  64. package/skills/cast-list/examples/agents/bodega-orquestrador/agents/SobreBodegaAzul/agent.mcs.yml +32 -0
  65. package/skills/cast-list/examples/agents/bodega-orquestrador/settings.mcs.yml +12 -0
  66. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/ClassificarSolicitacao.topic.mcs.yml +35 -0
  67. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Escalate.topic.mcs.yml +20 -0
  68. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Fallback.topic.mcs.yml +32 -0
  69. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/Greeting.topic.mcs.yml +14 -0
  70. package/skills/cast-list/examples/agents/bodega-orquestrador/topics/OnError.topic.mcs.yml +48 -0
  71. package/skills/cast-list/examples/agents/bodega-orquestrador/variables/CategoriaSolicitacao.mcs.yml +9 -0
  72. package/skills/cast-list/examples/agents/bodega-pedidos/actions/EnviarResumoPedido.mcs.yml +34 -0
  73. package/skills/cast-list/examples/agents/bodega-pedidos/agent.mcs.yml +26 -0
  74. package/skills/cast-list/examples/agents/bodega-pedidos/connectionreferences.mcs.yml +6 -0
  75. package/skills/cast-list/examples/agents/bodega-pedidos/knowledge/PoliticasPedidos.knowledge.mcs.yml +7 -0
  76. package/skills/cast-list/examples/agents/bodega-pedidos/settings.mcs.yml +13 -0
  77. package/skills/cast-list/examples/agents/bodega-pedidos/topics/ConsultarPoliticasPedidos.topic.mcs.yml +56 -0
  78. package/skills/cast-list/examples/agents/bodega-pedidos/topics/Escalate.topic.mcs.yml +20 -0
  79. package/skills/cast-list/examples/agents/bodega-pedidos/topics/Fallback.topic.mcs.yml +32 -0
  80. package/skills/cast-list/examples/agents/bodega-pedidos/topics/Greeting.topic.mcs.yml +14 -0
  81. package/skills/cast-list/examples/agents/bodega-pedidos/topics/OnError.topic.mcs.yml +48 -0
  82. package/skills/cast-list/examples/agents/bodega-pedidos/topics/RecebimentoOrquestrador.topic.mcs.yml +16 -0
  83. package/skills/cast-list/examples/agents/bodega-pedidos/variables/CategoriaSolicitacao.mcs.yml +10 -0
  84. package/skills/cast-list/examples/demo.cast.yaml +10 -0
  85. package/skills/cast-list/examples/profile.cast.yaml +15 -0
  86. package/skills/cast-list/references/format.md +50 -0
  87. package/skills/cast-list/references/keys.md +108 -0
  88. package/skills/cast-list/references/profile.md +32 -0
  89. package/skills/cast-list/scripts/browser.mjs +198 -0
  90. package/skills/cast-list/scripts/build.mjs +179 -0
  91. package/skills/cast-list/scripts/engine.mjs +155 -0
  92. package/skills/cast-list/scripts/page.mjs +15 -0
  93. package/skills/cast-list/scripts/read-xlsx.mjs +67 -0
  94. package/skills/cast-list/vendor/microsoft/LICENSE +21 -0
  95. package/skills/cast-list/vendor/microsoft/NOTICE +9 -0
  96. package/skills/cast-list/vendor/microsoft/package.json +1 -0
  97. package/skills/cast-list/vendor/microsoft/reference/bot.schema.yaml-authoring.json +27605 -0
  98. package/skills/cast-list/vendor/microsoft/scripts/schema-lookup.bundle.js +3495 -0
@@ -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_cyPfzf
12
+ conditions:
13
+ - id: conditionItem_TVpF0N
14
+ condition: =System.FallbackCount < 3
15
+ actions:
16
+ - kind: SendActivity
17
+ id: sendMessage_DaL6jc
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_Oy9Aaj
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_H06jmh
32
+ dialog: cr7b2_bodegaCupons.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_6Zd2DS
11
+ activity:
12
+ text:
13
+ - "Olá! Eu sou o {System.Bot.Name}. Quer validar um cupom ou ver as promoções da semana?"
14
+ - "Oi! Aqui é o especialista em cupons da Bodega Azul. Como posso ajudar?"
@@ -0,0 +1,48 @@
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_0mZW81
12
+ variable: init:Topic.CurrentTime
13
+ value: =Text(Now(), DateTimeFormat.UTC)
14
+
15
+ - kind: ConditionGroup
16
+ id: conditionGroup_SZFWPc
17
+ conditions:
18
+ - id: conditionItem_foENj6
19
+ condition: =System.Conversation.InTestMode = true
20
+ actions:
21
+ - kind: SendActivity
22
+ id: sendMessage_CkQNnf
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_rYnKKA
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: LogCustomTelemetryEvent
43
+ id: logTelemetry_5nw9Bl
44
+ eventName: BodegaCupons_OnError
45
+ properties: "={Agente: \"bodega-cupons\", ErrorMessage: System.Error.Message, ErrorCode: System.Error.Code, TimeUTC: Topic.CurrentTime, ConversationId: System.Conversation.Id}"
46
+
47
+ - kind: CancelAllDialogs
48
+ id: cancelAllDialogs_IAkomy
@@ -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_VBJo9u
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_bodegaCupons.globalvariable.CategoriaSolicitacao
8
+ kind: GlobalVariableComponent
9
+ isExternalInitializationAllowed: true
10
+ defaultValue: =Blank()
@@ -0,0 +1,32 @@
1
+ mcs.metadata:
2
+ componentName: Abrir solicitação de devolução
3
+ description: "Envia à equipe de logística reversa um e-mail abrindo a solicitação de devolução."
4
+ kind: TaskDialog
5
+ inputs:
6
+ - kind: ManualTaskInput
7
+ propertyName: To
8
+ value: logistica.reversa@bodegaazul.example
9
+
10
+ - kind: AutomaticTaskInput
11
+ propertyName: Subject
12
+ description: Assunto do e-mail, curto e em português.
13
+ entity: StringPrebuiltEntity
14
+ shouldPromptUser: false
15
+
16
+ - kind: AutomaticTaskInput
17
+ propertyName: Body
18
+ description: Corpo do e-mail em HTML simples, em português, com o resumo do que foi tratado na conversa.
19
+ entity: StringPrebuiltEntity
20
+ shouldPromptUser: false
21
+
22
+ modelDisplayName: Abrir solicitação de devolução
23
+ modelDescription: "Envia pelo Outlook um e-mail para a equipe de logística reversa com número do pedido, produto e motivo da devolução. Use depois de confirmar esses dados com o cliente."
24
+ action:
25
+ kind: InvokeConnectorTaskAction
26
+ connectionReference: cr7b2_bodegaDevolucoes.shared_office365.shared-office365-9c9a0063-d62b-4056-b58f-da8e8813aef2
27
+ connectionProperties:
28
+ mode: Maker
29
+
30
+ operationId: SendEmailV2
31
+
32
+ outputMode: All
@@ -0,0 +1,26 @@
1
+ mcs.metadata:
2
+ componentName: Bodega Azul - Devoluções
3
+ kind: GptComponentMetadata
4
+ displayName: Bodega Azul - Devoluções
5
+ instructions: |
6
+ Você é o especialista em trocas e devoluções da Bodega Azul, uma loja online.
7
+
8
+ Responsabilidades:
9
+ - Explicar prazos de arrependimento, condições do produto e como gerar a etiqueta de devolução
10
+ - Usar a base "Política de Trocas e Devoluções" para responder
11
+ - Abrir uma solicitação de devolução enviando um e-mail para a equipe de logística reversa
12
+
13
+ Regras:
14
+ - Responda sempre em português do Brasil, com empatia e objetividade
15
+ - Confirme o número do pedido e o motivo antes de abrir a solicitação
16
+ - Não prometa reembolso antes da análise do produto
17
+ conversationStarters:
18
+ - title: "Trocar produto"
19
+ text: "Quero trocar um produto que comprei"
20
+
21
+ - title: "Prazo de devolução"
22
+ text: "Qual o prazo para devolver uma compra?"
23
+
24
+ aISettings:
25
+ model:
26
+ modelNameHint: GPT5Chat
@@ -0,0 +1,6 @@
1
+ kind: ConnectionReferencesSourceFile
2
+ connectionReferences:
3
+ - id: 5ff46c55-f76a-450e-b6f7-c801536740df
4
+ connectionReferenceLogicalName: cr7b2_bodegaDevolucoes.shared_office365.shared-office365-9c9a0063-d62b-4056-b58f-da8e8813aef2
5
+ connectorId: /providers/Microsoft.PowerApps/apis/shared_office365
6
+ displayName: Office 365 Outlook
@@ -0,0 +1,7 @@
1
+ mcs.metadata:
2
+ componentName: Política de Trocas e Devoluções
3
+ description: "Regras de troca, devolução, arrependimento e reembolso da Bodega Azul."
4
+ kind: KnowledgeSourceConfiguration
5
+ source:
6
+ kind: SharePointSearchSource
7
+ site: https://bodegaazul.sharepoint.com/sites/Atendimento/Shared%20Documents/Devolucoes
@@ -0,0 +1,13 @@
1
+ displayName: Bodega Azul - Devoluções
2
+ schemaName: cr7b2_bodegaDevolucoes
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 Política de Devoluções
3
+ description: "Responde dúvidas sobre trocas e devoluções com base na política publicada no SharePoint."
4
+ kind: AdaptiveDialog
5
+ inputs:
6
+ - kind: AutomaticTaskInput
7
+ propertyName: PerguntaCliente
8
+ description: "A pergunta do cliente sobre troca, devolução ou reembolso."
9
+ shouldPromptUser: true
10
+
11
+ modelDescription: "Responde perguntas sobre prazo de arrependimento, condições para troca, etiqueta de devolução e reembolso na Bodega Azul."
12
+ beginDialog:
13
+ kind: OnRecognizedIntent
14
+ id: main
15
+ intent: {}
16
+ actions:
17
+ - kind: CreateSearchQuery
18
+ id: createSearchQuery_F3Bce0
19
+ userInput: =Topic.PerguntaCliente
20
+ result: Topic.SearchQuery
21
+
22
+ - kind: SearchAndSummarizeContent
23
+ id: searchContent_aJ4s5W
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_bodegaDevolucoes.knowledge.PoliticaTrocasDevolucoes
35
+
36
+ applyModelKnowledgeSetting: false
37
+ responseCaptureType: FullResponse
38
+
39
+ - kind: SetVariable
40
+ id: setVariable_YkGk0j
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 troca, devolução ou reembolso."
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_RBGXtS
20
+ activity: "A transferência para um atendente ainda não está disponível neste canal. Fale com a nossa equipe pelo e-mail devolucoes@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_TPCw06
12
+ conditions:
13
+ - id: conditionItem_ryGn7S
14
+ condition: =System.FallbackCount < 3
15
+ actions:
16
+ - kind: SendActivity
17
+ id: sendMessage_05PvFg
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_lXT8aK
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_u0NZwL
32
+ dialog: cr7b2_bodegaDevolucoes.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_ySobf4
11
+ activity:
12
+ text:
13
+ - "Olá! Eu sou o {System.Bot.Name}. Vamos resolver a sua troca ou devolução?"
14
+ - "Oi! Aqui é o especialista em trocas e devoluções da Bodega Azul. Como posso ajudar?"
@@ -0,0 +1,48 @@
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_9HZrxS
12
+ variable: init:Topic.CurrentTime
13
+ value: =Text(Now(), DateTimeFormat.UTC)
14
+
15
+ - kind: ConditionGroup
16
+ id: conditionGroup_O4ttWg
17
+ conditions:
18
+ - id: conditionItem_s0jOv1
19
+ condition: =System.Conversation.InTestMode = true
20
+ actions:
21
+ - kind: SendActivity
22
+ id: sendMessage_oUQQmg
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_Dld8CV
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: LogCustomTelemetryEvent
43
+ id: logTelemetry_nm7LSz
44
+ eventName: BodegaDevolucoes_OnError
45
+ properties: "={Agente: \"bodega-devolucoes\", ErrorMessage: System.Error.Message, ErrorCode: System.Error.Code, TimeUTC: Topic.CurrentTime, ConversationId: System.Conversation.Id}"
46
+
47
+ - kind: CancelAllDialogs
48
+ id: cancelAllDialogs_OwdxDv
@@ -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_62USMu
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_bodegaDevolucoes.globalvariable.CategoriaSolicitacao
8
+ kind: GlobalVariableComponent
9
+ isExternalInitializationAllowed: true
10
+ defaultValue: =Blank()
@@ -0,0 +1,34 @@
1
+ mcs.metadata:
2
+ componentName: Enviar opções de frete por e-mail
3
+ description: "Envia ao cliente um e-mail com as opções de frete consultadas."
4
+ kind: TaskDialog
5
+ inputs:
6
+ - kind: AutomaticTaskInput
7
+ propertyName: To
8
+ description: "Endereço de e-mail do cliente que vai receber as opções de frete."
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 opções de frete por e-mail
25
+ modelDescription: "Envia ao cliente, pelo Outlook, um e-mail com as modalidades e prazos de frete consultados na conversa. Use somente quando o cliente pedir."
26
+ action:
27
+ kind: InvokeConnectorTaskAction
28
+ connectionReference: cr7b2_bodegaFrete.shared_office365.shared-office365-b0f8e217-f0b5-4043-a162-176b58113675
29
+ connectionProperties:
30
+ mode: Maker
31
+
32
+ operationId: SendEmailV2
33
+
34
+ outputMode: All
@@ -0,0 +1,26 @@
1
+ mcs.metadata:
2
+ componentName: Bodega Azul - Frete
3
+ kind: GptComponentMetadata
4
+ displayName: Bodega Azul - Frete
5
+ instructions: |
6
+ Você é o especialista em frete e entregas da Bodega Azul, uma loja online.
7
+
8
+ Responsabilidades:
9
+ - Explicar modalidades de envio, prazos por região e regras de frete grátis
10
+ - Usar a base "Tabela de Frete e Entregas" para responder
11
+ - Enviar ao cliente, quando ele pedir, um e-mail com as opções de frete consultadas
12
+
13
+ Regras:
14
+ - Responda sempre em português do Brasil
15
+ - Prazos são sempre em dias úteis; deixe isso claro
16
+ - Não calcule valores de frete de cabeça: use apenas o que está na base
17
+ conversationStarters:
18
+ - title: "Prazo de entrega"
19
+ text: "Quanto tempo demora a entrega para o Nordeste?"
20
+
21
+ - title: "Frete grátis"
22
+ text: "A partir de qual valor o frete é grátis?"
23
+
24
+ aISettings:
25
+ model:
26
+ modelNameHint: GPT5Chat
@@ -0,0 +1,6 @@
1
+ kind: ConnectionReferencesSourceFile
2
+ connectionReferences:
3
+ - id: 2061116b-9466-499f-9a95-3845b3c68aef
4
+ connectionReferenceLogicalName: cr7b2_bodegaFrete.shared_office365.shared-office365-b0f8e217-f0b5-4043-a162-176b58113675
5
+ connectorId: /providers/Microsoft.PowerApps/apis/shared_office365
6
+ displayName: Office 365 Outlook
@@ -0,0 +1,7 @@
1
+ mcs.metadata:
2
+ componentName: Tabela de Frete e Entregas
3
+ description: "Modalidades de envio, prazos por região e regras de frete grátis da Bodega Azul."
4
+ kind: KnowledgeSourceConfiguration
5
+ source:
6
+ kind: SharePointSearchSource
7
+ site: https://bodegaazul.sharepoint.com/sites/Logistica/Shared%20Documents/Frete
@@ -0,0 +1,13 @@
1
+ displayName: Bodega Azul - Frete
2
+ schemaName: cr7b2_bodegaFrete
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 Tabela de Frete
3
+ description: "Responde dúvidas sobre frete e entregas com base na tabela publicada no SharePoint."
4
+ kind: AdaptiveDialog
5
+ inputs:
6
+ - kind: AutomaticTaskInput
7
+ propertyName: PerguntaCliente
8
+ description: "A pergunta do cliente sobre frete, prazo ou modalidade de entrega."
9
+ shouldPromptUser: true
10
+
11
+ modelDescription: "Responde perguntas sobre modalidades de envio, prazos de entrega por região e regras de frete grátis da Bodega Azul."
12
+ beginDialog:
13
+ kind: OnRecognizedIntent
14
+ id: main
15
+ intent: {}
16
+ actions:
17
+ - kind: CreateSearchQuery
18
+ id: createSearchQuery_RpdnNx
19
+ userInput: =Topic.PerguntaCliente
20
+ result: Topic.SearchQuery
21
+
22
+ - kind: SearchAndSummarizeContent
23
+ id: searchContent_2fpaCR
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_bodegaFrete.knowledge.TabelaFreteEntregas
35
+
36
+ applyModelKnowledgeSetting: false
37
+ responseCaptureType: FullResponse
38
+
39
+ - kind: SetVariable
40
+ id: setVariable_QoCKRT
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 frete, prazo ou modalidade de entrega."
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,31 @@
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_ABgTWB
12
+ conditions:
13
+ - id: conditionItem_6esZ2m
14
+ condition: =System.FallbackCount < 3
15
+ actions:
16
+ - kind: SendActivity
17
+ id: sendMessage_BIJUhV
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_sFTCKn
26
+ activity:
27
+ text:
28
+ - "Não consegui entender a sua solicitação. Você pode escrever para atendimento@bodegaazul.example que a nossa equipe responde em até 1 dia útil."
29
+
30
+ - kind: CancelAllDialogs
31
+ id: cancelAllDialogs_zzUTRS
@@ -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_WTCjw9
11
+ activity:
12
+ text:
13
+ - "Olá! Eu sou o {System.Bot.Name}. Quer saber sobre prazos e valores de entrega?"
14
+ - "Oi! Aqui é o especialista em frete da Bodega Azul. Em que posso ajudar?"
@@ -0,0 +1,48 @@
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_cAN26v
12
+ variable: init:Topic.CurrentTime
13
+ value: =Text(Now(), DateTimeFormat.UTC)
14
+
15
+ - kind: ConditionGroup
16
+ id: conditionGroup_i5aTx4
17
+ conditions:
18
+ - id: conditionItem_QOqZrK
19
+ condition: =System.Conversation.InTestMode = true
20
+ actions:
21
+ - kind: SendActivity
22
+ id: sendMessage_zATTmv
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_tT7GmP
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: LogCustomTelemetryEvent
43
+ id: logTelemetry_GO3Bil
44
+ eventName: BodegaFrete_OnError
45
+ properties: "={Agente: \"bodega-frete\", ErrorMessage: System.Error.Message, ErrorCode: System.Error.Code, TimeUTC: Topic.CurrentTime, ConversationId: System.Conversation.Id}"
46
+
47
+ - kind: CancelAllDialogs
48
+ id: cancelAllDialogs_pOGTUv