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.
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 +244 -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 +107 -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,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()
@@ -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: {}
@@ -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
@@ -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."