@orbe-agro/client-core 5.6.259 → 5.6.262
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/dist/@ecme/assets/styles/app.css +5 -215
- package/dist/@ecme/assets/styles/tailwind/index.css +6 -225
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js +0 -3
- package/dist/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.js.map +1 -1
- package/dist/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.js.map +1 -1
- package/dist/@ecme/components/template/Footer.js +1 -1
- package/dist/@ecme/components/template/Header.stories.js.map +1 -1
- package/dist/@ecme/components/template/Notification/Notification.js +4 -1
- package/dist/@ecme/components/template/Notification/Notification.js.map +1 -1
- package/dist/@ecme/components/template/Search.js +73 -280
- package/dist/@ecme/components/template/Search.js.map +1 -1
- package/dist/@ecme/components/template/Search.stories.js +2 -17
- package/dist/@ecme/components/template/Search.stories.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/ChatBox.js +1 -9
- package/dist/@ecme/components/view/ChatBox/ChatBox.js.map +1 -1
- package/dist/@ecme/components/view/ChatBox/components/MessageList.js +4 -8
- package/dist/@ecme/components/view/ChatBox/components/MessageList.js.map +1 -1
- package/dist/@ecme/configs/navigation.config/concepts.navigation.config.js +16 -0
- package/dist/@ecme/configs/navigation.config/concepts.navigation.config.js.map +1 -1
- package/dist/@ecme/configs/routes.config/conceptsRoute.js +9 -0
- package/dist/@ecme/configs/routes.config/conceptsRoute.js.map +1 -1
- package/dist/@ecme/index.js +7 -4
- package/dist/@ecme/index.js.map +1 -1
- package/dist/@ecme/locales/index.js +4 -1
- package/dist/@ecme/locales/index.js.map +1 -1
- package/dist/@ecme/locales/lang/ptBR/nav.js +0 -1
- package/dist/@ecme/locales/lang/ptBR/nav.js.map +1 -1
- package/dist/@ecme/services/AiService.js +13 -74
- package/dist/@ecme/services/AiService.js.map +1 -1
- package/dist/@ecme/services/axios/AxiosBase.js +24 -30
- package/dist/@ecme/services/axios/AxiosBase.js.map +1 -1
- package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js +27 -4
- package/dist/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.js.map +1 -1
- package/dist/@ecme/services/index.js +3 -5
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatLandingView.js +36 -37
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatLandingView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js +13 -55
- package/dist/@ecme/views/concepts/ai/Chat/components/ChatView.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js +20 -136
- package/dist/@ecme/views/concepts/ai/Chat/hooks/useChatSend.js.map +1 -1
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js +13 -29
- package/dist/@ecme/views/concepts/ai/Chat/store/generativeChatStore.js.map +1 -1
- package/dist/@ecme/views/dashboards/index.js +4 -1
- package/dist/@ecme/views/dashboards/index.js.map +1 -1
- package/dist/@ecme/views/index.js +2 -0
- package/dist/@ecme/views/index.js.map +1 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.d.ts.map +1 -1
- package/dist/@types/@ecme/components/template/Search.d.ts +0 -2
- package/dist/@types/@ecme/components/template/Search.d.ts.map +1 -1
- package/dist/@types/@ecme/components/view/ChatBox/ChatBox.d.ts.map +1 -1
- package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts +0 -5
- package/dist/@types/@ecme/components/view/ChatBox/components/MessageList.d.ts.map +1 -1
- package/dist/@types/@ecme/configs/navigation.config/concepts.navigation.config.d.ts.map +1 -1
- package/dist/@types/@ecme/configs/routes.config/conceptsRoute.d.ts.map +1 -1
- package/dist/@types/@ecme/locales/index.d.ts +1 -0
- package/dist/@types/@ecme/locales/index.d.ts.map +1 -1
- package/dist/@types/@ecme/locales/lang/ptBR/nav.d.ts.map +1 -1
- package/dist/@types/@ecme/services/AiService.d.ts +4 -39
- package/dist/@types/@ecme/services/AiService.d.ts.map +1 -1
- package/dist/@types/@ecme/services/axios/AxiosBase.d.ts +0 -12
- package/dist/@types/@ecme/services/axios/AxiosBase.d.ts.map +1 -1
- package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts +0 -6
- package/dist/@types/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatLandingView.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ChatView.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts +1 -3
- package/dist/@types/@ecme/views/concepts/ai/Chat/hooks/useChatSend.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/store/generativeChatStore.d.ts.map +1 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts +23 -120
- package/dist/@types/@ecme/views/concepts/ai/Chat/types.d.ts.map +1 -1
- package/dist/@types/@ecme/views/dashboards/index.d.ts +1 -0
- package/dist/@types/@ecme/views/dashboards/index.d.ts.map +1 -1
- package/dist/@types/@ecme/views/index.d.ts +1 -0
- package/dist/@types/@ecme/views/index.d.ts.map +1 -1
- package/dist/@types/base/@types/api/response/originacao/TFindAllSaldoResponse.d.ts +0 -1
- package/dist/@types/base/@types/api/response/originacao/TFindAllSaldoResponse.d.ts.map +1 -1
- package/dist/@types/base/@types/models/racao/carga.d.ts +0 -39
- package/dist/@types/base/@types/models/racao/carga.d.ts.map +1 -1
- package/dist/@types/base/@types/models/transportadora/irpf.d.ts +0 -1
- package/dist/@types/base/@types/models/transportadora/irpf.d.ts.map +1 -1
- package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts +1 -0
- package/dist/@types/base/@types/models/transportadora/irpfFaixaDesconto.d.ts.map +1 -1
- package/dist/@types/base/components/forms/GenericForms/GenericArrayFormSection.d.ts +2 -2
- package/dist/@types/base/components/forms/GenericForms/GenericArrayFormSection.d.ts.map +1 -1
- package/dist/@types/base/components/shared/AceitarProcessoDialog.d.ts +1 -2
- package/dist/@types/base/components/shared/AceitarProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/AdicionarHistoricoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/CancelarProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/ConcluirProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/EncerrarProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/ReabrirProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/RetornarFluxAtendimentoDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/TransferirParaAtendenteDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/TransferirParaSolicitanteDialog.d.ts.map +1 -1
- package/dist/@types/base/components/shared/TransferirProcessoDialog.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.d.ts +0 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.d.ts +0 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.d.ts +1 -1
- package/dist/@types/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.d.ts +0 -1
- package/dist/@types/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/Ticket/ticket.endpoint.config.d.ts +0 -2
- package/dist/@types/base/configs/endpoints.config/Ticket/ticket.endpoint.config.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/agendamento/agendamento.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/agendamento/agendamento.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/agendamento/config/contratoVenda.d.ts +1 -0
- package/dist/@types/base/configs/endpoints.config/agendamento/config/contratoVenda.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts +0 -18
- package/dist/@types/base/configs/endpoints.config/centralNfe/centralNfe.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/cfop.d.ts +0 -4
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/cfop.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.d.ts +0 -4
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts +0 -6
- package/dist/@types/base/configs/endpoints.config/compras/compras.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/dm/config/municipio.d.ts +0 -4
- package/dist/@types/base/configs/endpoints.config/dm/config/municipio.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts +0 -4
- package/dist/@types/base/configs/endpoints.config/dm/dm.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts +21 -82
- package/dist/@types/base/configs/endpoints.config/endpoints.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/insumos/config/estoque.d.ts +20 -0
- package/dist/@types/base/configs/endpoints.config/insumos/config/estoque.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts +20 -0
- package/dist/@types/base/configs/endpoints.config/insumos/insumos.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts +0 -8
- package/dist/@types/base/configs/endpoints.config/originacao/originacao.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/racao/config/carga.d.ts +0 -8
- package/dist/@types/base/configs/endpoints.config/racao/config/carga.d.ts.map +1 -1
- package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts +0 -8
- package/dist/@types/base/configs/endpoints.config/racao/racao.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.navigation.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/index.d.ts +0 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/index.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/template/submenu.template.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/example/cadastros.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/example/config/example.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/example/config/exampleObject.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/example/template.submenu.d.ts.map +1 -0
- package/dist/@types/base/configs/navigation.config/submenu/index.d.ts +2 -1
- package/dist/@types/base/configs/navigation.config/submenu/index.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/originacao/originacao.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/ticket/cadastros.submenu.d.ts.map +1 -1
- package/dist/@types/base/configs/navigation.config/submenu/ticket/relatorios.submenu.d.ts.map +1 -1
- package/dist/@types/base/locales/lang/ptBR/modules/Ticket/ticket.nav.d.ts +0 -2
- package/dist/@types/base/locales/lang/ptBR/modules/Ticket/ticket.nav.d.ts.map +1 -1
- package/dist/@types/base/services/modules/DadosMestres/Sap/IncotermsService.d.ts +0 -1
- package/dist/@types/base/services/modules/DadosMestres/Sap/IncotermsService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/DadosMestres/Sap/SafraService.d.ts +0 -1
- package/dist/@types/base/services/modules/DadosMestres/Sap/SafraService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/HubFiscal/NfeService.d.ts +1 -1
- package/dist/@types/base/services/modules/HubFiscal/NfeService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/SapService/Sap/ExecuteSapApiService.d.ts +0 -1
- package/dist/@types/base/services/modules/SapService/Sap/ExecuteSapApiService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/Ticket/TicketService.d.ts +0 -2
- package/dist/@types/base/services/modules/Ticket/TicketService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/cfop/CfopService.d.ts +0 -1
- package/dist/@types/base/services/modules/centralNfe/cfop/CfopService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.d.ts +0 -1
- package/dist/@types/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/compras/index.d.ts +0 -1
- package/dist/@types/base/services/modules/compras/index.d.ts.map +1 -1
- package/dist/@types/base/services/modules/dm/municipio/MunicipioService.d.ts +0 -1
- package/dist/@types/base/services/modules/dm/municipio/MunicipioService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/racao/carga/CargaService.d.ts +1 -3
- package/dist/@types/base/services/modules/racao/carga/CargaService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/template/example/ExampleObjectService.d.ts +6 -0
- package/dist/@types/base/services/modules/template/example/ExampleObjectService.d.ts.map +1 -0
- package/dist/@types/base/services/modules/template/example/ExampleService.d.ts +4 -7
- package/dist/@types/base/services/modules/template/example/ExampleService.d.ts.map +1 -1
- package/dist/@types/base/services/modules/template/index.d.ts +1 -1
- package/dist/@types/base/services/modules/template/index.d.ts.map +1 -1
- package/dist/base/@types/models/racao/carga.js.map +1 -1
- package/dist/base/assets/styles/init.css +5 -234
- package/dist/base/components/forms/GenericForms/GenericArrayFormSection.js.map +1 -1
- package/dist/base/components/shared/AceitarProcessoDialog.js +2 -16
- package/dist/base/components/shared/AceitarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/AdicionarHistoricoDialog.js +24 -28
- package/dist/base/components/shared/AdicionarHistoricoDialog.js.map +1 -1
- package/dist/base/components/shared/CancelarProcessoDialog.js +24 -28
- package/dist/base/components/shared/CancelarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/ConcluirProcessoDialog.js +23 -27
- package/dist/base/components/shared/ConcluirProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/EncerrarProcessoDialog.js +24 -28
- package/dist/base/components/shared/EncerrarProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/ReabrirProcessoDialog.js +23 -27
- package/dist/base/components/shared/ReabrirProcessoDialog.js.map +1 -1
- package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js +23 -27
- package/dist/base/components/shared/RetornarFluxAtendimentoDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirParaAtendenteDialog.js +24 -28
- package/dist/base/components/shared/TransferirParaAtendenteDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirParaSolicitanteDialog.js +24 -28
- package/dist/base/components/shared/TransferirParaSolicitanteDialog.js.map +1 -1
- package/dist/base/components/shared/TransferirProcessoDialog.js +33 -43
- package/dist/base/components/shared/TransferirProcessoDialog.js.map +1 -1
- package/dist/base/configs/api.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.js +1 -2
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.js +1 -2
- package/dist/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.js +1 -1
- package/dist/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.js +1 -2
- package/dist/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/Ticket/ticket.endpoint.config.js +1 -3
- package/dist/base/configs/endpoints.config/Ticket/ticket.endpoint.config.js.map +1 -1
- package/dist/base/configs/endpoints.config/agendamento/config/contratoVenda.js +1 -0
- package/dist/base/configs/endpoints.config/agendamento/config/contratoVenda.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js +0 -2
- package/dist/base/configs/endpoints.config/centralNfe/centralNfe.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/cfop.js +1 -2
- package/dist/base/configs/endpoints.config/centralNfe/config/cfop.js.map +1 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.js +1 -2
- package/dist/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.js.map +1 -1
- package/dist/base/configs/endpoints.config/compras/compras.js +1 -3
- package/dist/base/configs/endpoints.config/compras/compras.js.map +1 -1
- package/dist/base/configs/endpoints.config/dm/config/municipio.js +1 -2
- package/dist/base/configs/endpoints.config/dm/config/municipio.js.map +1 -1
- package/dist/base/configs/endpoints.config/endpoints.navigation.js +1 -5
- package/dist/base/configs/endpoints.config/endpoints.navigation.js.map +1 -1
- package/dist/base/configs/endpoints.config/insumos/config/estoque.js +6 -1
- package/dist/base/configs/endpoints.config/insumos/config/estoque.js.map +1 -1
- package/dist/base/configs/endpoints.config/originacao/originacao.js +0 -2
- package/dist/base/configs/endpoints.config/originacao/originacao.js.map +1 -1
- package/dist/base/configs/endpoints.config/racao/config/carga.js +0 -2
- package/dist/base/configs/endpoints.config/racao/config/carga.js.map +1 -1
- package/dist/base/configs/index.js +33 -33
- package/dist/base/configs/navigation.config/index.js +31 -31
- package/dist/base/configs/navigation.config/modules.navigation.js +1 -3
- package/dist/base/configs/navigation.config/modules.navigation.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/index.js +0 -2
- package/dist/base/configs/navigation.config/modules.submenu/index.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.js +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.js.map +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/submenu.template.js +1 -1
- package/dist/base/configs/navigation.config/modules.submenu/template/submenu.template.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.js +1 -1
- package/dist/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.js +1 -3
- package/dist/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/example/cadastros.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/{template → example}/config/example.submenu.js +3 -3
- package/dist/base/configs/navigation.config/submenu/example/config/example.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/{template → example}/config/exampleObject.submenu.js +3 -3
- package/dist/base/configs/navigation.config/submenu/example/config/exampleObject.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/example/template.submenu.js.map +1 -0
- package/dist/base/configs/navigation.config/submenu/index.js +22 -20
- package/dist/base/configs/navigation.config/submenu/index.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/originacao/originacao.submenu.js +0 -2
- package/dist/base/configs/navigation.config/submenu/originacao/originacao.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/ticket/cadastros.submenu.js +1 -5
- package/dist/base/configs/navigation.config/submenu/ticket/cadastros.submenu.js.map +1 -1
- package/dist/base/configs/navigation.config/submenu/ticket/relatorios.submenu.js +13 -5
- package/dist/base/configs/navigation.config/submenu/ticket/relatorios.submenu.js.map +1 -1
- package/dist/base/index.js +39 -47
- package/dist/base/index.js.map +1 -1
- package/dist/base/locales/lang/ptBR/modules/Ticket/ticket.nav.js +1 -3
- package/dist/base/locales/lang/ptBR/modules/Ticket/ticket.nav.js.map +1 -1
- package/dist/base/services/index.js +4 -12
- package/dist/base/services/index.js.map +1 -1
- package/dist/base/services/modules/DadosMestres/Sap/IncotermsService.js +1 -9
- package/dist/base/services/modules/DadosMestres/Sap/IncotermsService.js.map +1 -1
- package/dist/base/services/modules/DadosMestres/Sap/SafraService.js +1 -9
- package/dist/base/services/modules/DadosMestres/Sap/SafraService.js.map +1 -1
- package/dist/base/services/modules/HubFiscal/NfeService.js +3 -3
- package/dist/base/services/modules/HubFiscal/NfeService.js.map +1 -1
- package/dist/base/services/modules/SapService/Sap/ExecuteSapApiService.js +1 -9
- package/dist/base/services/modules/SapService/Sap/ExecuteSapApiService.js.map +1 -1
- package/dist/base/services/modules/Ticket/TicketService.js +0 -16
- package/dist/base/services/modules/Ticket/TicketService.js.map +1 -1
- package/dist/base/services/modules/agendamento/ContratoVendaService.js +2 -2
- package/dist/base/services/modules/agendamento/ContratoVendaService.js.map +1 -1
- package/dist/base/services/modules/centralNfe/cfop/CfopService.js +0 -8
- package/dist/base/services/modules/centralNfe/cfop/CfopService.js.map +1 -1
- package/dist/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.js +0 -7
- package/dist/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.js.map +1 -1
- package/dist/base/services/modules/compras/index.js +0 -2
- package/dist/base/services/modules/compras/index.js.map +1 -1
- package/dist/base/services/modules/dm/index.js +1 -2
- package/dist/base/services/modules/dm/municipio/MunicipioService.js +0 -7
- package/dist/base/services/modules/dm/municipio/MunicipioService.js.map +1 -1
- package/dist/base/services/modules/index.js +4 -12
- package/dist/base/services/modules/index.js.map +1 -1
- package/dist/base/services/modules/racao/carga/CargaService.js +0 -14
- package/dist/base/services/modules/racao/carga/CargaService.js.map +1 -1
- package/dist/base/services/modules/racao/index.js +1 -3
- package/dist/base/services/modules/template/example/ExampleObjectService.js +37 -0
- package/dist/base/services/modules/template/example/ExampleObjectService.js.map +1 -0
- package/dist/base/services/modules/template/example/ExampleService.js +12 -26
- package/dist/base/services/modules/template/example/ExampleService.js.map +1 -1
- package/dist/base/services/modules/template/index.js +2 -5
- package/lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx +1 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.tsx +2 -2
- package/lib/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.tsx +2 -2
- package/lib/@ecme/components/template/Header.stories.tsx +2 -2
- package/lib/@ecme/components/template/Notification/Notification.tsx +2 -2
- package/lib/@ecme/components/template/Search.stories.tsx +5 -20
- package/lib/@ecme/components/template/Search.tsx +84 -370
- package/lib/@ecme/components/view/ChatBox/ChatBox.tsx +0 -8
- package/lib/@ecme/components/view/ChatBox/components/MessageList.tsx +8 -26
- package/lib/@ecme/configs/navigation.config/concepts.navigation.config.ts +16 -0
- package/lib/@ecme/configs/routes.config/conceptsRoute.ts +9 -0
- package/lib/@ecme/locales/index.ts +4 -0
- package/lib/@ecme/locales/lang/ptBR/nav.ts +0 -1
- package/lib/@ecme/services/AiService.ts +13 -141
- package/lib/@ecme/services/axios/AxiosBase.ts +24 -45
- package/lib/@ecme/services/axios/AxiosRequestIntrceptorConfigCallback.ts +39 -10
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatLandingView.tsx +50 -58
- package/lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx +13 -98
- package/lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts +26 -230
- package/lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts +13 -41
- package/lib/@ecme/views/concepts/ai/Chat/types.ts +29 -105
- package/lib/@ecme/views/dashboards/index.ts +3 -1
- package/lib/@ecme/views/index.ts +1 -1
- package/lib/base/@types/api/response/originacao/TFindAllSaldoResponse.ts +0 -1
- package/lib/base/@types/models/racao/carga.ts +0 -51
- package/lib/base/@types/models/template/example +37 -0
- package/lib/base/@types/models/template/{exampleObject.ts → exampleObject} +5 -3
- package/lib/base/@types/models/transportadora/irpf.ts +0 -1
- package/lib/base/@types/models/transportadora/irpfFaixaDesconto.ts +1 -0
- package/lib/base/components/forms/GenericForms/GenericArrayFormSection.tsx +1 -1
- package/lib/base/components/shared/AceitarProcessoDialog.tsx +2 -13
- package/lib/base/components/shared/AdicionarHistoricoDialog.tsx +13 -16
- package/lib/base/components/shared/CancelarProcessoDialog.tsx +13 -16
- package/lib/base/components/shared/ConcluirProcessoDialog.tsx +13 -16
- package/lib/base/components/shared/EncerrarProcessoDialog.tsx +13 -16
- package/lib/base/components/shared/ReabrirProcessoDialog.tsx +13 -16
- package/lib/base/components/shared/RetornarFluxAtendimentoDialog.tsx +12 -14
- package/lib/base/components/shared/TransferirParaAtendenteDialog.tsx +12 -14
- package/lib/base/components/shared/TransferirParaSolicitanteDialog.tsx +12 -14
- package/lib/base/components/shared/TransferirProcessoDialog.tsx +12 -20
- package/lib/base/configs/api.config.ts +2 -2
- package/lib/base/configs/endpoints.config/DadosMestres/Sap/incoterms.endpoint.config.ts +0 -1
- package/lib/base/configs/endpoints.config/DadosMestres/Sap/safra.endpoint.config.ts +0 -1
- package/lib/base/configs/endpoints.config/HubFiscal/nfe.endpoint.config.ts +1 -1
- package/lib/base/configs/endpoints.config/SapService/Sap/executeSapApi.endpoint.config.ts +0 -1
- package/lib/base/configs/endpoints.config/Ticket/ticket.endpoint.config.ts +0 -2
- package/lib/base/configs/endpoints.config/agendamento/config/contratoVenda.ts +1 -0
- package/lib/base/configs/endpoints.config/centralNfe/centralNfe.ts +0 -2
- package/lib/base/configs/endpoints.config/centralNfe/config/cfop.ts +2 -3
- package/lib/base/configs/endpoints.config/centralNfe/config/vinculoOperacao.ts +1 -2
- package/lib/base/configs/endpoints.config/compras/compras.ts +1 -3
- package/lib/base/configs/endpoints.config/dm/config/municipio.ts +1 -2
- package/lib/base/configs/endpoints.config/endpoints.navigation.ts +1 -5
- package/lib/base/configs/endpoints.config/insumos/config/estoque.ts +7 -2
- package/lib/base/configs/endpoints.config/originacao/originacao.ts +0 -2
- package/lib/base/configs/endpoints.config/racao/config/carga.ts +0 -2
- package/lib/base/configs/navigation.config/modules.navigation.ts +0 -2
- package/lib/base/configs/navigation.config/modules.submenu/index.ts +0 -1
- package/lib/base/configs/navigation.config/modules.submenu/template/cadastros/submenu.example.ts +1 -1
- package/lib/base/configs/navigation.config/modules.submenu/template/submenu.template.ts +3 -2
- package/lib/base/configs/navigation.config/submenu/agendamento/config/relatorio-cotas.ts +1 -1
- package/lib/base/configs/navigation.config/submenu/centralNfe/cadastros.submenu.ts +0 -2
- package/lib/base/configs/navigation.config/submenu/{template → example}/config/example.submenu.ts +3 -3
- package/lib/base/configs/navigation.config/submenu/{template → example}/config/exampleObject.submenu.ts +3 -3
- package/lib/base/configs/navigation.config/submenu/index.ts +2 -1
- package/lib/base/configs/navigation.config/submenu/originacao/originacao.submenu.ts +0 -2
- package/lib/base/configs/navigation.config/submenu/ticket/cadastros.submenu.ts +0 -4
- package/lib/base/configs/navigation.config/submenu/ticket/relatorios.submenu.ts +14 -4
- package/lib/base/locales/lang/ptBR/modules/Ticket/ticket.nav.ts +0 -2
- package/lib/base/services/modules/DadosMestres/Sap/IncotermsService.ts +0 -8
- package/lib/base/services/modules/DadosMestres/Sap/SafraService.ts +0 -8
- package/lib/base/services/modules/HubFiscal/NfeService.ts +2 -2
- package/lib/base/services/modules/SapService/Sap/ExecuteSapApiService.ts +0 -8
- package/lib/base/services/modules/Ticket/TicketService.ts +0 -16
- package/lib/base/services/modules/agendamento/ContratoVendaService.ts +2 -2
- package/lib/base/services/modules/centralNfe/cfop/CfopService.ts +1 -9
- package/lib/base/services/modules/centralNfe/vinculoOperacao/VinculoOperacaoService.ts +0 -7
- package/lib/base/services/modules/compras/index.ts +1 -2
- package/lib/base/services/modules/dm/municipio/MunicipioService.tsx +0 -7
- package/lib/base/services/modules/racao/carga/CargaService.ts +1 -15
- package/lib/base/services/modules/template/example/ExampleObjectService.ts +34 -0
- package/lib/base/services/modules/template/example/ExampleService.ts +19 -37
- package/lib/base/services/modules/template/index.ts +2 -2
- package/package.json +1 -1
- package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js +0 -98
- package/dist/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.js.map +0 -1
- package/dist/@ecme/components/template/OrbeAiWidget/ResizeHandles.js +0 -37
- package/dist/@ecme/components/template/OrbeAiWidget/ResizeHandles.js.map +0 -1
- package/dist/@ecme/components/template/OrbeAiWidget/index.js +0 -5
- package/dist/@ecme/components/template/OrbeAiWidget/index.js.map +0 -1
- package/dist/@ecme/components/template/OrbeAiWidget/useResizablePanel.js +0 -77
- package/dist/@ecme/components/template/OrbeAiWidget/useResizablePanel.js.map +0 -1
- package/dist/@ecme/mock/data/favoritosMenuData.js +0 -5
- package/dist/@ecme/mock/data/favoritosMenuData.js.map +0 -1
- package/dist/@ecme/services/aiAuthHeaders.js +0 -35
- package/dist/@ecme/services/aiAuthHeaders.js.map +0 -1
- package/dist/@ecme/services/sseParser.js +0 -42
- package/dist/@ecme/services/sseParser.js.map +0 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js +0 -15
- package/dist/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.js.map +0 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.js +0 -23
- package/dist/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.js.map +0 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js +0 -73
- package/dist/@ecme/views/concepts/ai/Chat/components/ApprovalCard.js.map +0 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/DataRequestCard.js +0 -99
- package/dist/@ecme/views/concepts/ai/Chat/components/DataRequestCard.js.map +0 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js +0 -153
- package/dist/@ecme/views/concepts/ai/Chat/components/ToolCallChip.js.map +0 -1
- package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js +0 -195
- package/dist/@ecme/views/concepts/ai/Chat/components/toolPresentation.js.map +0 -1
- package/dist/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.js +0 -92
- package/dist/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.js.map +0 -1
- package/dist/@ecme/views/dashboards/FavoritesLanding/index.js +0 -5
- package/dist/@ecme/views/dashboards/FavoritesLanding/index.js.map +0 -1
- package/dist/@ecme/views/dashboards/FavoritesLanding/types.js +0 -2
- package/dist/@ecme/views/dashboards/FavoritesLanding/types.js.map +0 -1
- package/dist/@ecme/views/dashboards/FavoritesLanding/utils.js +0 -36
- package/dist/@ecme/views/dashboards/FavoritesLanding/utils.js.map +0 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.d.ts +0 -7
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/CollapsibleSide.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.d.ts +0 -7
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/ContentOverlay.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.d.ts +0 -7
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/FrameLessSide.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.d.ts +0 -7
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/StackedSide.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.d.ts +0 -7
- package/dist/@types/@ecme/components/layouts/PostLoginLayout/components/TopBarClassic.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/components/template/Header.stories.d.ts +0 -7
- package/dist/@types/@ecme/components/template/Header.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts +0 -3
- package/dist/@types/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.d.ts.map +0 -1
- package/dist/@types/@ecme/components/template/OrbeAiWidget/ResizeHandles.d.ts +0 -9
- package/dist/@types/@ecme/components/template/OrbeAiWidget/ResizeHandles.d.ts.map +0 -1
- package/dist/@types/@ecme/components/template/OrbeAiWidget/index.d.ts +0 -2
- package/dist/@types/@ecme/components/template/OrbeAiWidget/index.d.ts.map +0 -1
- package/dist/@types/@ecme/components/template/OrbeAiWidget/useResizablePanel.d.ts +0 -19
- package/dist/@types/@ecme/components/template/OrbeAiWidget/useResizablePanel.d.ts.map +0 -1
- package/dist/@types/@ecme/components/template/Search.stories.d.ts +0 -8
- package/dist/@types/@ecme/components/template/Search.stories.d.ts.map +0 -1
- package/dist/@types/@ecme/mock/data/favoritosMenuData.d.ts +0 -3
- package/dist/@types/@ecme/mock/data/favoritosMenuData.d.ts.map +0 -1
- package/dist/@types/@ecme/services/aiAuthHeaders.d.ts +0 -12
- package/dist/@types/@ecme/services/aiAuthHeaders.d.ts.map +0 -1
- package/dist/@types/@ecme/services/sseParser.d.ts +0 -20
- package/dist/@types/@ecme/services/sseParser.d.ts.map +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts +0 -8
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.d.ts.map +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.d.ts +0 -7
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.d.ts.map +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts +0 -15
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ApprovalCard.d.ts.map +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/DataRequestCard.d.ts +0 -20
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/DataRequestCard.d.ts.map +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts +0 -7
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/ToolCallChip.d.ts.map +0 -1
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts +0 -31
- package/dist/@types/@ecme/views/concepts/ai/Chat/components/toolPresentation.d.ts.map +0 -1
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.d.ts +0 -9
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.d.ts.map +0 -1
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/index.d.ts +0 -3
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/index.d.ts.map +0 -1
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/types.d.ts +0 -17
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/types.d.ts.map +0 -1
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/utils.d.ts +0 -5
- package/dist/@types/@ecme/views/dashboards/FavoritesLanding/utils.d.ts.map +0 -1
- package/dist/@types/base/@types/api/request/dm/TCreateFavoritoMenuRequest.d.ts +0 -4
- package/dist/@types/base/@types/api/request/dm/TCreateFavoritoMenuRequest.d.ts.map +0 -1
- package/dist/@types/base/@types/api/request/dm/TReorderFavoritosMenuRequest.d.ts +0 -4
- package/dist/@types/base/@types/api/request/dm/TReorderFavoritosMenuRequest.d.ts.map +0 -1
- package/dist/@types/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.d.ts +0 -9
- package/dist/@types/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.d.ts.map +0 -1
- package/dist/@types/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.d.ts +0 -8
- package/dist/@types/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.d.ts.map +0 -1
- package/dist/@types/base/@types/api/response/originacao/TConsumoManualSaldoResponse.d.ts +0 -21
- package/dist/@types/base/@types/api/response/originacao/TConsumoManualSaldoResponse.d.ts.map +0 -1
- package/dist/@types/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.d.ts +0 -17
- package/dist/@types/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.d.ts.map +0 -1
- package/dist/@types/base/@types/enums/originacao/ModoConsumoManual.d.ts +0 -5
- package/dist/@types/base/@types/enums/originacao/ModoConsumoManual.d.ts.map +0 -1
- package/dist/@types/base/@types/enums/originacao/TipoSaldoConsumivel.d.ts +0 -6
- package/dist/@types/base/@types/enums/originacao/TipoSaldoConsumivel.d.ts.map +0 -1
- package/dist/@types/base/@types/models/template/example.d.ts +0 -40
- package/dist/@types/base/@types/models/template/example.d.ts.map +0 -1
- package/dist/@types/base/@types/models/template/exampleObject.d.ts +0 -14
- package/dist/@types/base/@types/models/template/exampleObject.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.d.ts +0 -8
- package/dist/@types/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/historicoCfop.d.ts +0 -12
- package/dist/@types/base/configs/endpoints.config/centralNfe/config/historicoCfop.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/compras/config/itemOrdemCompra.d.ts +0 -8
- package/dist/@types/base/configs/endpoints.config/compras/config/itemOrdemCompra.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/originacao/config/consumoManualSaldo.d.ts +0 -10
- package/dist/@types/base/configs/endpoints.config/originacao/config/consumoManualSaldo.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.d.ts +0 -33
- package/dist/@types/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.d.ts.map +0 -1
- package/dist/@types/base/configs/endpoints.config/trade/index.d.ts +0 -34
- package/dist/@types/base/configs/endpoints.config/trade/index.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/modules.submenu/trade/submenu.trade.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/modules.submenu/trade/submenu.trade.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/template/cadastros.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/template/config/example.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/template/config/exampleObject.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/template/template.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.d.ts.map +0 -1
- package/dist/@types/base/configs/navigation.config/submenu/trade/trade.submenu.d.ts +0 -4
- package/dist/@types/base/configs/navigation.config/submenu/trade/trade.submenu.d.ts.map +0 -1
- package/dist/@types/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.d.ts +0 -8
- package/dist/@types/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.d.ts +0 -3
- package/dist/@types/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.d.ts +0 -2
- package/dist/@types/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.d.ts +0 -13
- package/dist/@types/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/template/exampleObject/ExampleObjectService.d.ts +0 -8
- package/dist/@types/base/services/modules/template/exampleObject/ExampleObjectService.d.ts.map +0 -1
- package/dist/@types/base/services/modules/trade/ContratoArmazenagemGraosTradeService.d.ts +0 -14
- package/dist/@types/base/services/modules/trade/ContratoArmazenagemGraosTradeService.d.ts.map +0 -1
- package/dist/base/@types/api/request/dm/TCreateFavoritoMenuRequest.js +0 -2
- package/dist/base/@types/api/request/dm/TCreateFavoritoMenuRequest.js.map +0 -1
- package/dist/base/@types/api/request/dm/TReorderFavoritosMenuRequest.js +0 -2
- package/dist/base/@types/api/request/dm/TReorderFavoritosMenuRequest.js.map +0 -1
- package/dist/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.js +0 -2
- package/dist/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.js.map +0 -1
- package/dist/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.js +0 -2
- package/dist/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.js.map +0 -1
- package/dist/base/@types/api/response/originacao/TConsumoManualSaldoResponse.js +0 -2
- package/dist/base/@types/api/response/originacao/TConsumoManualSaldoResponse.js.map +0 -1
- package/dist/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.js +0 -2
- package/dist/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.js.map +0 -1
- package/dist/base/@types/enums/originacao/ModoConsumoManual.js +0 -9
- package/dist/base/@types/enums/originacao/ModoConsumoManual.js.map +0 -1
- package/dist/base/@types/enums/originacao/TipoSaldoConsumivel.js +0 -10
- package/dist/base/@types/enums/originacao/TipoSaldoConsumivel.js.map +0 -1
- package/dist/base/@types/models/template/example.js +0 -16
- package/dist/base/@types/models/template/example.js.map +0 -1
- package/dist/base/@types/models/template/exampleObject.js +0 -2
- package/dist/base/@types/models/template/exampleObject.js.map +0 -1
- package/dist/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.js +0 -11
- package/dist/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.js.map +0 -1
- package/dist/base/configs/endpoints.config/centralNfe/config/historicoCfop.js +0 -9
- package/dist/base/configs/endpoints.config/centralNfe/config/historicoCfop.js.map +0 -1
- package/dist/base/configs/endpoints.config/compras/config/itemOrdemCompra.js +0 -8
- package/dist/base/configs/endpoints.config/compras/config/itemOrdemCompra.js.map +0 -1
- package/dist/base/configs/endpoints.config/originacao/config/consumoManualSaldo.js +0 -12
- package/dist/base/configs/endpoints.config/originacao/config/consumoManualSaldo.js.map +0 -1
- package/dist/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.js +0 -15
- package/dist/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.js.map +0 -1
- package/dist/base/configs/endpoints.config/trade/index.js +0 -8
- package/dist/base/configs/endpoints.config/trade/index.js.map +0 -1
- package/dist/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.js +0 -107
- package/dist/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.js.map +0 -1
- package/dist/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.js +0 -16
- package/dist/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.js.map +0 -1
- package/dist/base/configs/navigation.config/modules.submenu/trade/submenu.trade.js +0 -17
- package/dist/base/configs/navigation.config/modules.submenu/trade/submenu.trade.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.js +0 -16
- package/dist/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/template/cadastros.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/template/config/example.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/template/config/exampleObject.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/template/template.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.js +0 -16
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.js +0 -16
- package/dist/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.js +0 -16
- package/dist/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.js.map +0 -1
- package/dist/base/configs/navigation.config/submenu/trade/trade.submenu.js +0 -8
- package/dist/base/configs/navigation.config/submenu/trade/trade.submenu.js.map +0 -1
- package/dist/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js +0 -35
- package/dist/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.js.map +0 -1
- package/dist/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.js +0 -21
- package/dist/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.js.map +0 -1
- package/dist/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.js +0 -14
- package/dist/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.js.map +0 -1
- package/dist/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.js +0 -50
- package/dist/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.js.map +0 -1
- package/dist/base/services/modules/template/exampleObject/ExampleObjectService.js +0 -44
- package/dist/base/services/modules/template/exampleObject/ExampleObjectService.js.map +0 -1
- package/dist/base/services/modules/trade/ContratoArmazenagemGraosTradeService.js +0 -59
- package/dist/base/services/modules/trade/ContratoArmazenagemGraosTradeService.js.map +0 -1
- package/lib/@ecme/components/template/OrbeAiWidget/OrbeAiWidget.tsx +0 -123
- package/lib/@ecme/components/template/OrbeAiWidget/ResizeHandles.tsx +0 -47
- package/lib/@ecme/components/template/OrbeAiWidget/index.ts +0 -1
- package/lib/@ecme/components/template/OrbeAiWidget/useResizablePanel.ts +0 -108
- package/lib/@ecme/mock/data/favoritosMenuData.ts +0 -3
- package/lib/@ecme/services/aiAuthHeaders.ts +0 -58
- package/lib/@ecme/services/sseParser.ts +0 -75
- package/lib/@ecme/views/concepts/ai/Chat/components/AiErrorMessage.tsx +0 -28
- package/lib/@ecme/views/concepts/ai/Chat/components/AiThinkingIndicator.tsx +0 -24
- package/lib/@ecme/views/concepts/ai/Chat/components/ApprovalCard.tsx +0 -103
- package/lib/@ecme/views/concepts/ai/Chat/components/DataRequestCard.tsx +0 -144
- package/lib/@ecme/views/concepts/ai/Chat/components/ToolCallChip.tsx +0 -218
- package/lib/@ecme/views/concepts/ai/Chat/components/toolPresentation.ts +0 -283
- package/lib/@ecme/views/dashboards/FavoritesLanding/FavoritesLanding.tsx +0 -124
- package/lib/@ecme/views/dashboards/FavoritesLanding/index.ts +0 -3
- package/lib/@ecme/views/dashboards/FavoritesLanding/types.ts +0 -17
- package/lib/@ecme/views/dashboards/FavoritesLanding/utils.ts +0 -51
- package/lib/base/@types/api/request/dm/TCreateFavoritoMenuRequest.ts +0 -3
- package/lib/base/@types/api/request/dm/TReorderFavoritosMenuRequest.ts +0 -3
- package/lib/base/@types/api/request/originacao/TSimularConsumoManualSaldoRequest.ts +0 -8
- package/lib/base/@types/api/response/dadosMestres/TFavoritoMenuResponse.ts +0 -7
- package/lib/base/@types/api/response/originacao/TConsumoManualSaldoResponse.ts +0 -22
- package/lib/base/@types/api/response/originacao/TSimularConsumoManualSaldoResponse.ts +0 -17
- package/lib/base/@types/enums/originacao/ModoConsumoManual.ts +0 -4
- package/lib/base/@types/enums/originacao/TipoSaldoConsumivel.ts +0 -5
- package/lib/base/@types/models/template/example.ts +0 -46
- package/lib/base/configs/endpoints.config/DadosMestres/FavoritoMenu/favoritoMenu.endpoint.config.ts +0 -10
- package/lib/base/configs/endpoints.config/centralNfe/config/historicoCfop.ts +0 -8
- package/lib/base/configs/endpoints.config/compras/config/itemOrdemCompra.ts +0 -7
- package/lib/base/configs/endpoints.config/originacao/config/consumoManualSaldo.ts +0 -9
- package/lib/base/configs/endpoints.config/trade/config/contratoArmazenagemGraosTrade.ts +0 -13
- package/lib/base/configs/endpoints.config/trade/index.ts +0 -7
- package/lib/base/configs/navigation.config/modules.submenu/gestaoServicos/submenu.gestaoServicos.ts +0 -107
- package/lib/base/configs/navigation.config/modules.submenu/originacao/consumoManualSaldo/submenu.consumoManualSaldo.ts +0 -16
- package/lib/base/configs/navigation.config/modules.submenu/trade/submenu.trade.ts +0 -18
- package/lib/base/configs/navigation.config/submenu/centralNfe/config/cfop.submenu.ts +0 -16
- package/lib/base/configs/navigation.config/submenu/ticket/config/relatorioTransferenciaArmazens.submenu.ts +0 -16
- package/lib/base/configs/navigation.config/submenu/ticket/config/relatorioVendasGraos.submenu.ts +0 -16
- package/lib/base/configs/navigation.config/submenu/trade/configs/contratoArmazenagemGraosTrade.submenu.ts +0 -16
- package/lib/base/configs/navigation.config/submenu/trade/trade.submenu.ts +0 -8
- package/lib/base/services/modules/DadosMestres/FavoritoMenu/FavoritoMenuService.ts +0 -35
- package/lib/base/services/modules/centralNfe/historicoCfop/HistoricoCfopService.ts +0 -21
- package/lib/base/services/modules/compras/ordemCompra/ItemOrdemCompraService.ts +0 -12
- package/lib/base/services/modules/originacao/consumoManualSaldo/consumoManualSaldoService.ts +0 -54
- package/lib/base/services/modules/template/exampleObject/ExampleObjectService.ts +0 -45
- package/lib/base/services/modules/trade/ContratoArmazenagemGraosTradeService.ts +0 -62
- /package/dist/@types/base/configs/navigation.config/submenu/{template → example}/cadastros.submenu.d.ts +0 -0
- /package/dist/@types/base/configs/navigation.config/submenu/{template → example}/config/example.submenu.d.ts +0 -0
- /package/dist/@types/base/configs/navigation.config/submenu/{template → example}/config/exampleObject.submenu.d.ts +0 -0
- /package/dist/@types/base/configs/navigation.config/submenu/{template → example}/template.submenu.d.ts +0 -0
- /package/dist/base/configs/navigation.config/submenu/{template → example}/cadastros.submenu.js +0 -0
- /package/dist/base/configs/navigation.config/submenu/{template → example}/template.submenu.js +0 -0
- /package/lib/base/configs/navigation.config/submenu/{template → example}/cadastros.submenu.ts +0 -0
- /package/lib/base/configs/navigation.config/submenu/{template → example}/template.submenu.ts +0 -0
|
@@ -6,20 +6,14 @@ import ChatLandingView from "./ChatLandingView.js";
|
|
|
6
6
|
import ChatMobileNav from "./ChatMobileNav.js";
|
|
7
7
|
import ChatCustomContent from "./ChatCustomContent.js";
|
|
8
8
|
import ChatCustomAction from "./ChatCustomAction.js";
|
|
9
|
-
import AiThinkingIndicator from "./AiThinkingIndicator.js";
|
|
10
|
-
import AiErrorMessage from "./AiErrorMessage.js";
|
|
11
|
-
import ToolCallChip from "./ToolCallChip.js";
|
|
12
|
-
import ApprovalCard from "./ApprovalCard.js";
|
|
13
|
-
import DataRequestCard from "./DataRequestCard.js";
|
|
14
9
|
import { usGenerativeChatStore } from "../store/generativeChatStore.js";
|
|
15
10
|
import useChatSend from "../hooks/useChatSend.js";
|
|
16
11
|
import Card from "../../../../../components/ui/Card/Card.js";
|
|
17
12
|
import ChatBox from "../../../../../components/view/ChatBox/ChatBox.js";
|
|
18
|
-
const BALAO_AGENTE = "prose rounded-xl bg-gray-100 px-5 py-2.5 text-sm text-gray-900 dark:bg-gray-700 dark:text-gray-100";
|
|
19
13
|
const ChatView = () => {
|
|
20
14
|
const scrollRef = useRef(null);
|
|
21
15
|
const { selectedConversation, chatHistory, isTyping, disabledChatFresh } = usGenerativeChatStore();
|
|
22
|
-
const { handleSend
|
|
16
|
+
const { handleSend } = useChatSend();
|
|
23
17
|
const scrollToBottom = () => {
|
|
24
18
|
if (scrollRef.current?.getScrollElement) {
|
|
25
19
|
const scrollElement = scrollRef.current.getScrollElement();
|
|
@@ -53,14 +47,10 @@ const ChatView = () => {
|
|
|
53
47
|
{
|
|
54
48
|
ref: scrollRef,
|
|
55
49
|
messageList,
|
|
56
|
-
placeholder: "
|
|
50
|
+
placeholder: "Enter a prompt here",
|
|
57
51
|
showMessageList: Boolean(selectedConversation),
|
|
58
|
-
showAvatar:
|
|
59
|
-
avatarGap:
|
|
60
|
-
myBubbleClass: "bg-primary text-white",
|
|
61
|
-
botBubbleClass: "bg-transparent dark:bg-transparent p-0 rounded-none",
|
|
62
|
-
errorBubbleClass: "bg-red-50 dark:bg-red-500/10 border border-red-200 dark:border-red-500/20",
|
|
63
|
-
renderTyping: () => /* @__PURE__ */ jsx("div", { className: BALAO_AGENTE, children: /* @__PURE__ */ jsx(AiThinkingIndicator, {}) }),
|
|
52
|
+
showAvatar: true,
|
|
53
|
+
avatarGap: true,
|
|
64
54
|
containerClass: "h-[calc(100%-30px)] xl:h-full",
|
|
65
55
|
messageListClass: "h-[calc(100%-100px)] xl:h-[calc(100%-70px)]",
|
|
66
56
|
typing: isTyping ? {
|
|
@@ -69,52 +59,20 @@ const ChatView = () => {
|
|
|
69
59
|
avatarImageUrl: "/img/thumbs/ai.jpg"
|
|
70
60
|
} : false,
|
|
71
61
|
customRenderer: (message) => {
|
|
72
|
-
if (message.isError) {
|
|
73
|
-
return /* @__PURE__ */ jsx(AiErrorMessage, {});
|
|
74
|
-
}
|
|
75
62
|
if (message.sender.id === "ai") {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
63
|
+
return /* @__PURE__ */ jsx(
|
|
64
|
+
ChatCustomContent,
|
|
65
|
+
{
|
|
66
|
+
content: message.content,
|
|
67
|
+
triggerTyping: message.fresh ? message.fresh : false,
|
|
68
|
+
onFinish: () => handleFinish(message.id)
|
|
69
|
+
}
|
|
79
70
|
);
|
|
80
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-start gap-1.5", children: [
|
|
81
|
-
tools?.map((tool) => /* @__PURE__ */ jsx(ToolCallChip, { tool }, tool.id)),
|
|
82
|
-
temTexto && /* @__PURE__ */ jsx("div", { className: BALAO_AGENTE, children: /* @__PURE__ */ jsx(
|
|
83
|
-
ChatCustomContent,
|
|
84
|
-
{
|
|
85
|
-
content: message.content,
|
|
86
|
-
triggerTyping: message.fresh ? message.fresh : false,
|
|
87
|
-
onFinish: () => handleFinish(message.id)
|
|
88
|
-
}
|
|
89
|
-
) }),
|
|
90
|
-
pendingInput && /* @__PURE__ */ jsx(
|
|
91
|
-
DataRequestCard,
|
|
92
|
-
{
|
|
93
|
-
input: pendingInput,
|
|
94
|
-
onSubmit: (dados) => handleDataSubmit(
|
|
95
|
-
selectedConversation,
|
|
96
|
-
message.id,
|
|
97
|
-
dados
|
|
98
|
-
)
|
|
99
|
-
}
|
|
100
|
-
),
|
|
101
|
-
pendingApproval && /* @__PURE__ */ jsx(
|
|
102
|
-
ApprovalCard,
|
|
103
|
-
{
|
|
104
|
-
approval: pendingApproval,
|
|
105
|
-
onDecide: (aprovado) => handleApproval(
|
|
106
|
-
selectedConversation,
|
|
107
|
-
message.id,
|
|
108
|
-
aprovado
|
|
109
|
-
)
|
|
110
|
-
}
|
|
111
|
-
)
|
|
112
|
-
] });
|
|
113
71
|
}
|
|
114
72
|
return message.content;
|
|
115
73
|
},
|
|
116
74
|
customAction: (message) => {
|
|
117
|
-
if (message.sender.id === "ai"
|
|
75
|
+
if (message.sender.id === "ai") {
|
|
118
76
|
return /* @__PURE__ */ jsx(
|
|
119
77
|
ChatCustomAction,
|
|
120
78
|
{
|
|
@@ -125,7 +83,7 @@ const ChatView = () => {
|
|
|
125
83
|
return null;
|
|
126
84
|
},
|
|
127
85
|
onInputChange: handleInputChange,
|
|
128
|
-
children: !selectedConversation && /* @__PURE__ */ jsx(
|
|
86
|
+
children: !selectedConversation && /* @__PURE__ */ jsx(ChatLandingView, {})
|
|
129
87
|
}
|
|
130
88
|
)
|
|
131
89
|
] });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatView.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx"],"sourcesContent":["import { useRef, useEffect, useMemo } from 'react'\nimport Card from '@/components/ui/Card'\nimport ChatBox from '@/components/view/ChatBox'\nimport ChatLandingView from './ChatLandingView'\nimport ChatMobileNav from './ChatMobileNav'\nimport ChatCustomContent from './ChatCustomContent'\nimport ChatCustomAction from './ChatCustomAction'\nimport AiThinkingIndicator from './AiThinkingIndicator'\nimport AiErrorMessage from './AiErrorMessage'\nimport ToolCallChip from './ToolCallChip'\nimport ApprovalCard from './ApprovalCard'\nimport DataRequestCard from './DataRequestCard'\nimport { usGenerativeChatStore } from '../store/generativeChatStore'\nimport useChatSend from '../hooks/useChatSend'\nimport type { Conversation } from '../types'\nimport type { ScrollBarRef } from '@/components/ui/ScrollBar'\n\n/**\n * O balao de fala do agente, desenhado aqui em vez de vir do ChatBox.\n *\n * O `botBubbleClass` abaixo zera o balao que o Message desenharia, para os chips\n * de ferramenta e o card de aprovacao ficarem FORA dele — antes tudo dividia a\n * mesma caixa cinza e as ferramentas eram lidas como uma segunda mensagem.\n * Usado tambem pelo indicador de \"pensando\", que passa pelo mesmo balao zerado.\n *\n * Repete `prose text-sm` do balao original de proposito: o reset de margem do\n * @tailwindcss/typography e `.prose > :first-child`, filho DIRETO. Sem o `prose`\n * aqui, o markdown ficaria um nivel abaixo do container e o primeiro paragrafo\n * voltaria a ter margem, inflando todos os baloes.\n */\nconst BALAO_AGENTE =\n 'prose rounded-xl bg-gray-100 px-5 py-2.5 text-sm text-gray-900 dark:bg-gray-700 dark:text-gray-100'\n\nconst ChatView = () => {\n const scrollRef = useRef<ScrollBarRef>(null)\n const { selectedConversation, chatHistory, isTyping, disabledChatFresh } =\n usGenerativeChatStore()\n const { handleSend, handleApproval, handleDataSubmit } = useChatSend()\n\n const scrollToBottom = () => {\n if (scrollRef.current?.getScrollElement) {\n const scrollElement = scrollRef.current.getScrollElement()\n if (scrollElement) {\n scrollElement.scrollTop = scrollElement.scrollHeight\n }\n }\n }\n\n useEffect(() => {\n scrollToBottom()\n }, [selectedConversation, chatHistory])\n\n const messageList = useMemo(() => {\n const chat = chatHistory.find(\n (chat) => chat.id === selectedConversation,\n )\n return chat?.conversation || []\n }, [selectedConversation, chatHistory])\n\n const handleInputChange = async ({\n value,\n }: {\n value: string\n attachments?: File[]\n }) => {\n await handleSend(value)\n }\n\n const handleFinish = (id: string) => {\n disabledChatFresh(id)\n scrollToBottom()\n }\n\n return (\n <Card className=\"flex-1 h-full\" bodyClass=\"h-full\">\n <ChatMobileNav />\n <ChatBox\n ref={scrollRef}\n messageList={messageList}\n placeholder=\"Pergunte algo sobre o Orbe Agro…\"\n showMessageList={Boolean(selectedConversation)}\n showAvatar={false}\n avatarGap={false}\n myBubbleClass=\"bg-primary text-white\"\n botBubbleClass=\"bg-transparent dark:bg-transparent p-0 rounded-none\"\n errorBubbleClass=\"bg-red-50 dark:bg-red-500/10 border border-red-200 dark:border-red-500/20\"\n renderTyping={() => (\n <div className={BALAO_AGENTE}>\n <AiThinkingIndicator />\n </div>\n )}\n containerClass=\"h-[calc(100%-30px)] xl:h-full\"\n messageListClass=\"h-[calc(100%-100px)] xl:h-[calc(100%-70px)]\"\n typing={\n isTyping\n ? {\n id: 'ai',\n name: 'Chat AI',\n avatarImageUrl: '/img/thumbs/ai.jpg',\n }\n : false\n }\n customRenderer={(message) => {\n if (message.isError) {\n return <AiErrorMessage />\n }\n\n if (message.sender.id === 'ai') {\n // As ferramentas e as pausas chegam pelo streaming e\n // vivem no Conversation; o tipo do ChatBox nao os conhece.\n const { tools, pendingApproval, pendingInput } =\n message as Conversation\n // Enquanto as ferramentas rodam o conteudo ainda e '':\n // sem esta guarda sobraria um balao cinza vazio.\n const temTexto = Boolean(\n (message.content as string)?.trim(),\n )\n\n return (\n <div className=\"flex flex-col items-start gap-1.5\">\n {tools?.map((tool) => (\n <ToolCallChip key={tool.id} tool={tool} />\n ))}\n {temTexto && (\n <div className={BALAO_AGENTE}>\n <ChatCustomContent\n content={message.content as string}\n triggerTyping={\n message.fresh\n ? message.fresh\n : false\n }\n onFinish={() =>\n handleFinish(message.id)\n }\n />\n </div>\n )}\n {pendingInput && (\n <DataRequestCard\n input={pendingInput}\n onSubmit={(dados) =>\n handleDataSubmit(\n selectedConversation,\n message.id,\n dados,\n )\n }\n />\n )}\n {pendingApproval && (\n <ApprovalCard\n approval={pendingApproval}\n onDecide={(aprovado) =>\n handleApproval(\n selectedConversation,\n message.id,\n aprovado,\n )\n }\n />\n )}\n </div>\n )\n }\n\n return message.content\n }}\n customAction={(message) => {\n if (message.sender.id === 'ai' && !message.isError) {\n return (\n <ChatCustomAction\n content={message.content as string}\n />\n )\n }\n\n return null\n }}\n onInputChange={handleInputChange}\n >\n {!selectedConversation && (\n <div className=\"flex-1 min-h-0 overflow-y-auto\">\n <ChatLandingView />\n </div>\n )}\n </ChatBox>\n </Card>\n )\n}\n\nexport default ChatView\n"],"names":["chat"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ChatView.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/components/ChatView.tsx"],"sourcesContent":["import { useRef, useEffect, useMemo } from 'react'\nimport Card from '@/components/ui/Card'\nimport ChatBox from '@/components/view/ChatBox'\nimport ChatLandingView from './ChatLandingView'\nimport ChatMobileNav from './ChatMobileNav'\nimport ChatCustomContent from './ChatCustomContent'\nimport ChatCustomAction from './ChatCustomAction'\nimport { usGenerativeChatStore } from '../store/generativeChatStore'\nimport useChatSend from '../hooks/useChatSend'\nimport type { ScrollBarRef } from '@/components/ui/ScrollBar'\n\nconst ChatView = () => {\n const scrollRef = useRef<ScrollBarRef>(null)\n const { selectedConversation, chatHistory, isTyping, disabledChatFresh } =\n usGenerativeChatStore()\n const { handleSend } = useChatSend()\n\n const scrollToBottom = () => {\n if (scrollRef.current?.getScrollElement) {\n const scrollElement = scrollRef.current.getScrollElement()\n if (scrollElement) {\n scrollElement.scrollTop = scrollElement.scrollHeight\n }\n }\n }\n\n useEffect(() => {\n scrollToBottom()\n }, [selectedConversation, chatHistory])\n\n const messageList = useMemo(() => {\n const chat = chatHistory.find(\n (chat) => chat.id === selectedConversation,\n )\n return chat?.conversation || []\n }, [selectedConversation, chatHistory])\n\n const handleInputChange = async ({\n value,\n }: {\n value: string\n attachments?: File[]\n }) => {\n await handleSend(value)\n }\n\n const handleFinish = (id: string) => {\n disabledChatFresh(id)\n scrollToBottom()\n }\n\n return (\n <Card className=\"flex-1 h-full\" bodyClass=\"h-full\">\n <ChatMobileNav />\n <ChatBox\n ref={scrollRef}\n messageList={messageList}\n placeholder=\"Enter a prompt here\"\n showMessageList={Boolean(selectedConversation)}\n showAvatar={true}\n avatarGap={true}\n containerClass=\"h-[calc(100%-30px)] xl:h-full\"\n messageListClass=\"h-[calc(100%-100px)] xl:h-[calc(100%-70px)]\"\n typing={\n isTyping\n ? {\n id: 'ai',\n name: 'Chat AI',\n avatarImageUrl: '/img/thumbs/ai.jpg',\n }\n : false\n }\n customRenderer={(message) => {\n if (message.sender.id === 'ai') {\n return (\n <ChatCustomContent\n content={message.content as string}\n triggerTyping={\n message.fresh ? message.fresh : false\n }\n onFinish={() => handleFinish(message.id)}\n />\n )\n }\n\n return message.content\n }}\n customAction={(message) => {\n if (message.sender.id === 'ai') {\n return (\n <ChatCustomAction\n content={message.content as string}\n />\n )\n }\n\n return null\n }}\n onInputChange={handleInputChange}\n >\n {!selectedConversation && <ChatLandingView />}\n </ChatBox>\n </Card>\n )\n}\n\nexport default ChatView\n"],"names":["chat"],"mappings":";;;;;;;;;;;;AAWA,MAAM,WAAW,MAAM;AACnB,QAAM,YAAY,OAAqB,IAAI;AAC3C,QAAM,EAAE,sBAAsB,aAAa,UAAU,kBAAA,IACjD,sBAAA;AACJ,QAAM,EAAE,WAAA,IAAe,YAAA;AAEvB,QAAM,iBAAiB,MAAM;AACzB,QAAI,UAAU,SAAS,kBAAkB;AACrC,YAAM,gBAAgB,UAAU,QAAQ,iBAAA;AACxC,UAAI,eAAe;AACf,sBAAc,YAAY,cAAc;AAAA,MAC5C;AAAA,IACJ;AAAA,EACJ;AAEA,YAAU,MAAM;AACZ,mBAAA;AAAA,EACJ,GAAG,CAAC,sBAAsB,WAAW,CAAC;AAEtC,QAAM,cAAc,QAAQ,MAAM;AAC9B,UAAM,OAAO,YAAY;AAAA,MACrB,CAACA,UAASA,MAAK,OAAO;AAAA,IAAA;AAE1B,WAAO,MAAM,gBAAgB,CAAA;AAAA,EACjC,GAAG,CAAC,sBAAsB,WAAW,CAAC;AAEtC,QAAM,oBAAoB,OAAO;AAAA,IAC7B;AAAA,EAAA,MAIE;AACF,UAAM,WAAW,KAAK;AAAA,EAC1B;AAEA,QAAM,eAAe,CAAC,OAAe;AACjC,sBAAkB,EAAE;AACpB,mBAAA;AAAA,EACJ;AAEA,SACI,qBAAC,MAAA,EAAK,WAAU,iBAAgB,WAAU,UACtC,UAAA;AAAA,IAAA,oBAAC,eAAA,EAAc;AAAA,IACf;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAK;AAAA,QACL;AAAA,QACA,aAAY;AAAA,QACZ,iBAAiB,QAAQ,oBAAoB;AAAA,QAC7C,YAAY;AAAA,QACZ,WAAW;AAAA,QACX,gBAAe;AAAA,QACf,kBAAiB;AAAA,QACjB,QACI,WACM;AAAA,UACI,IAAI;AAAA,UACJ,MAAM;AAAA,UACN,gBAAgB;AAAA,QAAA,IAEpB;AAAA,QAEV,gBAAgB,CAAC,YAAY;AACzB,cAAI,QAAQ,OAAO,OAAO,MAAM;AAC5B,mBACI;AAAA,cAAC;AAAA,cAAA;AAAA,gBACG,SAAS,QAAQ;AAAA,gBACjB,eACI,QAAQ,QAAQ,QAAQ,QAAQ;AAAA,gBAEpC,UAAU,MAAM,aAAa,QAAQ,EAAE;AAAA,cAAA;AAAA,YAAA;AAAA,UAGnD;AAEA,iBAAO,QAAQ;AAAA,QACnB;AAAA,QACA,cAAc,CAAC,YAAY;AACvB,cAAI,QAAQ,OAAO,OAAO,MAAM;AAC5B,mBACI;AAAA,cAAC;AAAA,cAAA;AAAA,gBACG,SAAS,QAAQ;AAAA,cAAA;AAAA,YAAA;AAAA,UAG7B;AAEA,iBAAO;AAAA,QACX;AAAA,QACA,eAAe;AAAA,QAEd,UAAA,CAAC,wBAAwB,oBAAC,iBAAA,CAAA,CAAgB;AAAA,MAAA;AAAA,IAAA;AAAA,EAC/C,GACJ;AAER;"}
|
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
import { usGenerativeChatStore } from "../store/generativeChatStore.js";
|
|
2
|
-
import {
|
|
3
|
-
import "../../../../../auth/index.js";
|
|
2
|
+
import { apiPostChat } from "../../../../../services/AiService.js";
|
|
4
3
|
import dayjs from "dayjs";
|
|
5
4
|
import uniqueId from "lodash/uniqueId";
|
|
6
|
-
import useAuth from "../../../../../auth/useAuth.js";
|
|
7
|
-
const AI_ERROR_MESSAGE = "Desculpe, estou com um pequeno problema de comunicação e não consigo te atender no momento. Tente novamente em instantes.";
|
|
8
5
|
const useChatSend = () => {
|
|
9
|
-
const { user } = useAuth();
|
|
10
6
|
const {
|
|
11
7
|
selectedConversation,
|
|
12
8
|
setSelectedConversation,
|
|
13
9
|
pushChatHistory,
|
|
14
10
|
pushConversation,
|
|
15
|
-
updateConversation,
|
|
16
11
|
setIsTyping
|
|
17
12
|
} = usGenerativeChatStore();
|
|
18
13
|
const creteMyMessage = (id, prompt) => {
|
|
19
14
|
pushConversation(id, {
|
|
20
15
|
id: uniqueId("ai-conversation-"),
|
|
21
16
|
sender: {
|
|
22
|
-
id:
|
|
23
|
-
name:
|
|
24
|
-
avatarImageUrl:
|
|
17
|
+
id: "1",
|
|
18
|
+
name: "Angelina Gotelli",
|
|
19
|
+
avatarImageUrl: "/img/avatars/thumb-1.jpg"
|
|
25
20
|
},
|
|
26
21
|
content: prompt,
|
|
27
22
|
timestamp: dayjs().toDate(),
|
|
@@ -29,112 +24,31 @@ const useChatSend = () => {
|
|
|
29
24
|
isMyMessage: true
|
|
30
25
|
});
|
|
31
26
|
};
|
|
32
|
-
const
|
|
33
|
-
const
|
|
34
|
-
|
|
35
|
-
|
|
27
|
+
const sendMessage = async (id, prompt, attachments) => {
|
|
28
|
+
const resp = await apiPostChat({
|
|
29
|
+
prompt,
|
|
30
|
+
attachments
|
|
31
|
+
});
|
|
32
|
+
pushConversation(id, {
|
|
33
|
+
id: uniqueId("ai-conversation-"),
|
|
36
34
|
sender: {
|
|
37
35
|
id: "ai",
|
|
38
36
|
name: "Chat AI",
|
|
39
37
|
avatarImageUrl: "/img/thumbs/ai.jpg"
|
|
40
38
|
},
|
|
41
|
-
content: "",
|
|
39
|
+
content: resp.choices[0].message.content || "",
|
|
42
40
|
timestamp: dayjs().toDate(),
|
|
43
41
|
type: "regular",
|
|
44
42
|
isMyMessage: false,
|
|
45
|
-
fresh:
|
|
46
|
-
...options
|
|
43
|
+
fresh: true
|
|
47
44
|
});
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
const consumirStream = async (chatId, messageId, executar, inicial) => {
|
|
51
|
-
let texto = inicial.texto;
|
|
52
|
-
let tools = inicial.tools;
|
|
53
|
-
const aplicar = (evento) => {
|
|
54
|
-
switch (evento.type) {
|
|
55
|
-
case "token":
|
|
56
|
-
texto += evento.data.content;
|
|
57
|
-
updateConversation(chatId, messageId, { content: texto });
|
|
58
|
-
break;
|
|
59
|
-
case "tool_start":
|
|
60
|
-
tools = [
|
|
61
|
-
...tools,
|
|
62
|
-
{
|
|
63
|
-
id: evento.data.id,
|
|
64
|
-
name: evento.data.name,
|
|
65
|
-
args: evento.data.args,
|
|
66
|
-
running: true
|
|
67
|
-
}
|
|
68
|
-
];
|
|
69
|
-
updateConversation(chatId, messageId, { tools });
|
|
70
|
-
break;
|
|
71
|
-
case "tool_end":
|
|
72
|
-
tools = tools.map(
|
|
73
|
-
(tool) => tool.id === evento.data.id ? {
|
|
74
|
-
...tool,
|
|
75
|
-
running: false,
|
|
76
|
-
awaitingApproval: false,
|
|
77
|
-
result: evento.data.content,
|
|
78
|
-
isError: evento.data.is_error
|
|
79
|
-
} : tool
|
|
80
|
-
);
|
|
81
|
-
updateConversation(chatId, messageId, { tools });
|
|
82
|
-
break;
|
|
83
|
-
case "approval_required": {
|
|
84
|
-
const pausadas = new Set(
|
|
85
|
-
evento.data.calls.map((call) => call.id)
|
|
86
|
-
);
|
|
87
|
-
tools = tools.map(
|
|
88
|
-
(tool) => pausadas.has(tool.id) ? { ...tool, running: false, awaitingApproval: true } : tool
|
|
89
|
-
);
|
|
90
|
-
updateConversation(chatId, messageId, {
|
|
91
|
-
tools,
|
|
92
|
-
pendingApproval: evento.data
|
|
93
|
-
});
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
case "input_required":
|
|
97
|
-
updateConversation(chatId, messageId, {
|
|
98
|
-
pendingInput: evento.data
|
|
99
|
-
});
|
|
100
|
-
break;
|
|
101
|
-
case "done":
|
|
102
|
-
texto = inicial.texto + evento.data.content;
|
|
103
|
-
updateConversation(chatId, messageId, { content: texto });
|
|
104
|
-
break;
|
|
105
|
-
case "error":
|
|
106
|
-
updateConversation(chatId, messageId, {
|
|
107
|
-
content: evento.data.message || AI_ERROR_MESSAGE,
|
|
108
|
-
isError: true
|
|
109
|
-
});
|
|
110
|
-
break;
|
|
111
|
-
}
|
|
112
|
-
};
|
|
113
|
-
try {
|
|
114
|
-
await executar(aplicar);
|
|
115
|
-
} catch {
|
|
116
|
-
updateConversation(chatId, messageId, {
|
|
117
|
-
content: texto || AI_ERROR_MESSAGE,
|
|
118
|
-
isError: !texto
|
|
119
|
-
});
|
|
120
|
-
} finally {
|
|
121
|
-
setIsTyping(false);
|
|
122
|
-
}
|
|
123
|
-
};
|
|
124
|
-
const sendMessage = async (chatId, prompt) => {
|
|
125
|
-
const messageId = createAiMessage(chatId);
|
|
126
|
-
await consumirStream(
|
|
127
|
-
chatId,
|
|
128
|
-
messageId,
|
|
129
|
-
(onEvent) => streamChat({ prompt, conversationId: chatId, onEvent }),
|
|
130
|
-
{ texto: "", tools: [] }
|
|
131
|
-
);
|
|
45
|
+
setIsTyping(false);
|
|
132
46
|
};
|
|
133
|
-
const createConversation = async (
|
|
134
|
-
setSelectedConversation(
|
|
135
|
-
await sendMessage(
|
|
47
|
+
const createConversation = async (id, prompt, attachments) => {
|
|
48
|
+
setSelectedConversation(id);
|
|
49
|
+
await sendMessage(id, prompt, attachments);
|
|
136
50
|
};
|
|
137
|
-
const handleSend = async (prompt) => {
|
|
51
|
+
const handleSend = async (prompt, attachments) => {
|
|
138
52
|
setIsTyping(true);
|
|
139
53
|
if (selectedConversation) {
|
|
140
54
|
creteMyMessage(selectedConversation, prompt);
|
|
@@ -150,41 +64,11 @@ const useChatSend = () => {
|
|
|
150
64
|
enable: false
|
|
151
65
|
});
|
|
152
66
|
creteMyMessage(newId, prompt);
|
|
153
|
-
await createConversation(newId, prompt);
|
|
67
|
+
await createConversation(newId, prompt, attachments);
|
|
154
68
|
}
|
|
155
69
|
};
|
|
156
|
-
const handleApproval = async (chatId, messageId, approved) => {
|
|
157
|
-
const mensagem = usGenerativeChatStore.getState().chatHistory.find((chat) => chat.id === chatId)?.conversation?.find((item) => item.id === messageId);
|
|
158
|
-
if (!mensagem?.pendingApproval) {
|
|
159
|
-
return;
|
|
160
|
-
}
|
|
161
|
-
setIsTyping(true);
|
|
162
|
-
updateConversation(chatId, messageId, { pendingApproval: void 0 });
|
|
163
|
-
await consumirStream(
|
|
164
|
-
chatId,
|
|
165
|
-
messageId,
|
|
166
|
-
(onEvent) => resumeChat({ approved, conversationId: chatId, onEvent }),
|
|
167
|
-
{ texto: mensagem.content ?? "", tools: mensagem.tools ?? [] }
|
|
168
|
-
);
|
|
169
|
-
};
|
|
170
|
-
const handleDataSubmit = async (chatId, messageId, dados) => {
|
|
171
|
-
const mensagem = usGenerativeChatStore.getState().chatHistory.find((chat) => chat.id === chatId)?.conversation?.find((item) => item.id === messageId);
|
|
172
|
-
if (!mensagem?.pendingInput) {
|
|
173
|
-
return;
|
|
174
|
-
}
|
|
175
|
-
setIsTyping(true);
|
|
176
|
-
updateConversation(chatId, messageId, { pendingInput: void 0 });
|
|
177
|
-
await consumirStream(
|
|
178
|
-
chatId,
|
|
179
|
-
messageId,
|
|
180
|
-
(onEvent) => resumeChat({ dados, conversationId: chatId, onEvent }),
|
|
181
|
-
{ texto: mensagem.content ?? "", tools: mensagem.tools ?? [] }
|
|
182
|
-
);
|
|
183
|
-
};
|
|
184
70
|
return {
|
|
185
|
-
handleSend
|
|
186
|
-
handleApproval,
|
|
187
|
-
handleDataSubmit
|
|
71
|
+
handleSend
|
|
188
72
|
};
|
|
189
73
|
};
|
|
190
74
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useChatSend.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts"],"sourcesContent":["import { usGenerativeChatStore } from '../store/generativeChatStore'\nimport { resumeChat, streamChat } from '@/services/AiService'\nimport { useAuth } from '@/auth'\nimport dayjs from 'dayjs'\nimport uniqueId from 'lodash/uniqueId'\nimport type { ChatEvent, Conversation, ToolCall } from '../types'\n\n/** Resposta genérica exibida no chat quando a comunicação com a IA falha. */\nconst AI_ERROR_MESSAGE =\n 'Desculpe, estou com um pequeno problema de comunicação e não consigo te atender no momento. Tente novamente em instantes.'\n\nconst useChatSend = () => {\n const { user } = useAuth()\n const {\n selectedConversation,\n setSelectedConversation,\n pushChatHistory,\n pushConversation,\n updateConversation,\n setIsTyping,\n } = usGenerativeChatStore()\n\n const creteMyMessage = (id: string, prompt: string) => {\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: user.userId ?? 'me',\n name: user.userName ?? 'Você',\n avatarImageUrl: user.avatar ?? undefined,\n },\n content: prompt,\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: true,\n })\n }\n\n /**\n * Cria a mensagem da IA vazia e devolve o id, para o streaming preenchê-la.\n *\n * `fresh: false` é obrigatório: `fresh` liga a animação de máquina de\n * escrever do ChatCustomContent, que reinicia do zero a cada mudança de\n * conteúdo — com streaming, o texto ficaria piscando e voltando ao início.\n * A animação agora vem do servidor.\n */\n const createAiMessage = (\n chatId: string,\n options?: Partial<Conversation>,\n ) => {\n const messageId = uniqueId('ai-conversation-')\n pushConversation(chatId, {\n id: messageId,\n sender: {\n id: 'ai',\n name: 'Chat AI',\n avatarImageUrl: '/img/thumbs/ai.jpg',\n },\n content: '',\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: false,\n fresh: false,\n ...options,\n })\n return messageId\n }\n\n /**\n * Consome um stream escrevendo numa mensagem que já existe.\n *\n * Compartilhado pelo envio e pela retomada de aprovação: quando o usuário\n * aprova, a resposta continua na MESMA mensagem, então o acumulador de\n * texto e de ferramentas precisa partir do que já está lá.\n */\n const consumirStream = async (\n chatId: string,\n messageId: string,\n executar: (onEvent: (evento: ChatEvent) => void) => Promise<void>,\n inicial: { texto: string; tools: ToolCall[] },\n ) => {\n // Acumulados localmente: o store guarda o resultado, mas ler de volta a\n // cada token para concatenar seria uma corrida com o próprio set().\n let texto = inicial.texto\n let tools = inicial.tools\n\n const aplicar = (evento: ChatEvent) => {\n switch (evento.type) {\n case 'token':\n texto += evento.data.content\n updateConversation(chatId, messageId, { content: texto })\n break\n\n case 'tool_start':\n tools = [\n ...tools,\n {\n id: evento.data.id,\n name: evento.data.name,\n args: evento.data.args,\n running: true,\n },\n ]\n updateConversation(chatId, messageId, { tools })\n break\n\n case 'tool_end':\n tools = tools.map((tool) =>\n tool.id === evento.data.id\n ? {\n ...tool,\n running: false,\n awaitingApproval: false,\n result: evento.data.content,\n isError: evento.data.is_error,\n }\n : tool,\n )\n updateConversation(chatId, messageId, { tools })\n break\n\n case 'approval_required': {\n // O tool_start já marcou estas ferramentas como \"running\".\n // Elas não estão executando: estão paradas esperando o\n // clique — senão o chip giraria para sempre.\n const pausadas = new Set(\n evento.data.calls.map((call) => call.id),\n )\n tools = tools.map((tool) =>\n pausadas.has(tool.id)\n ? { ...tool, running: false, awaitingApproval: true }\n : tool,\n )\n updateConversation(chatId, messageId, {\n tools,\n pendingApproval: evento.data,\n })\n break\n }\n\n case 'input_required':\n // Diferente da aprovação, aqui nenhuma ferramenta foi\n // pedida ao ERP: o agente só percebeu que faltam campos.\n // Por isso não há chip de ferramenta para ajustar.\n updateConversation(chatId, messageId, {\n pendingInput: evento.data,\n })\n break\n\n case 'done':\n // O done é a fonte autoritativa do texto DESTA requisição —\n // se algum token se perdeu, ele corrige.\n //\n // Numa retomada, porém, o que o agente disse ANTES da pausa\n // não vem nele (o backend acumula as falas por requisição):\n // veio em `inicial.texto`. Sem concatenar, a bolha encolhia\n // para só a frase final — \"Vou criar a área para você…\"\n // virava \"Nada foi criado\" — e o agente parecia ter\n // esquecido tudo. No primeiro envio `inicial.texto` é '',\n // então nada muda ali.\n texto = inicial.texto + evento.data.content\n updateConversation(chatId, messageId, { content: texto })\n break\n\n case 'error':\n updateConversation(chatId, messageId, {\n content: evento.data.message || AI_ERROR_MESSAGE,\n isError: true,\n })\n break\n }\n }\n\n try {\n await executar(aplicar)\n } catch {\n updateConversation(chatId, messageId, {\n content: texto || AI_ERROR_MESSAGE,\n isError: !texto,\n })\n } finally {\n setIsTyping(false)\n }\n }\n\n const sendMessage = async (chatId: string, prompt: string) => {\n const messageId = createAiMessage(chatId)\n await consumirStream(\n chatId,\n messageId,\n (onEvent) => streamChat({ prompt, conversationId: chatId, onEvent }),\n { texto: '', tools: [] },\n )\n }\n\n const createConversation = async (chatId: string, prompt: string) => {\n setSelectedConversation(chatId)\n await sendMessage(chatId, prompt)\n }\n\n const handleSend = async (prompt: string) => {\n setIsTyping(true)\n if (selectedConversation) {\n creteMyMessage(selectedConversation, prompt)\n await sendMessage(selectedConversation, prompt)\n } else {\n const newId = uniqueId('ai-chat-')\n pushChatHistory({\n id: newId,\n title: prompt,\n lastConversation: '',\n createdTime: dayjs().unix(),\n updatedTime: dayjs().unix(),\n enable: false,\n })\n creteMyMessage(newId, prompt)\n await createConversation(newId, prompt)\n }\n }\n\n /**\n * Aprova ou nega a operação pendente e retoma a conversa.\n *\n * Continua escrevendo na mesma mensagem: por isso o acumulador parte do\n * conteúdo e das ferramentas que já estão lá.\n */\n const handleApproval = async (\n chatId: string,\n messageId: string,\n approved: boolean,\n ) => {\n const mensagem = usGenerativeChatStore\n .getState()\n .chatHistory.find((chat) => chat.id === chatId)\n ?.conversation?.find((item) => item.id === messageId)\n\n if (!mensagem?.pendingApproval) {\n return\n }\n\n setIsTyping(true)\n // Some com o card antes da chamada: dois cliques rápidos enviariam duas\n // retomadas, e a segunda falha (o interrupt já foi consumido).\n updateConversation(chatId, messageId, { pendingApproval: undefined })\n\n await consumirStream(\n chatId,\n messageId,\n (onEvent) =>\n resumeChat({ approved, conversationId: chatId, onEvent }),\n { texto: mensagem.content ?? '', tools: mensagem.tools ?? [] },\n )\n }\n\n /**\n * Envia os dados que faltavam (ou o cancelamento) e retoma a conversa.\n *\n * Mesma mecânica do `handleApproval`: continua na MESMA mensagem, então o\n * acumulador parte do que já está lá.\n */\n const handleDataSubmit = async (\n chatId: string,\n messageId: string,\n dados: Record<string, unknown> | null,\n ) => {\n const mensagem = usGenerativeChatStore\n .getState()\n .chatHistory.find((chat) => chat.id === chatId)\n ?.conversation?.find((item) => item.id === messageId)\n\n if (!mensagem?.pendingInput) {\n return\n }\n\n setIsTyping(true)\n // Some com o formulário antes da chamada: dois envios mandariam duas\n // retomadas, e a segunda falha (o interrupt já foi consumido).\n updateConversation(chatId, messageId, { pendingInput: undefined })\n\n await consumirStream(\n chatId,\n messageId,\n (onEvent) => resumeChat({ dados, conversationId: chatId, onEvent }),\n { texto: mensagem.content ?? '', tools: mensagem.tools ?? [] },\n )\n }\n\n return {\n handleSend,\n handleApproval,\n handleDataSubmit,\n }\n}\n\nexport default useChatSend\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useChatSend.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/hooks/useChatSend.ts"],"sourcesContent":["import { usGenerativeChatStore } from '../store/generativeChatStore'\nimport { apiPostChat } from '@/services/AiService'\nimport dayjs from 'dayjs'\nimport uniqueId from 'lodash/uniqueId'\nimport type { PostAiChatResponse } from '../types'\n\nconst useChatSend = () => {\n const {\n selectedConversation,\n setSelectedConversation,\n pushChatHistory,\n pushConversation,\n setIsTyping,\n } = usGenerativeChatStore()\n\n const creteMyMessage = (id: string, prompt: string) => {\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: '1',\n name: 'Angelina Gotelli',\n avatarImageUrl: '/img/avatars/thumb-1.jpg',\n },\n content: prompt,\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: true,\n })\n }\n\n const sendMessage = async (\n id: string,\n prompt: string,\n attachments?: File[],\n ) => {\n const resp = await apiPostChat<PostAiChatResponse>({\n prompt,\n attachments,\n })\n pushConversation(id, {\n id: uniqueId('ai-conversation-'),\n sender: {\n id: 'ai',\n name: 'Chat AI',\n avatarImageUrl: '/img/thumbs/ai.jpg',\n },\n content: resp.choices[0].message.content || '',\n timestamp: dayjs().toDate(),\n type: 'regular',\n isMyMessage: false,\n fresh: true,\n })\n setIsTyping(false)\n }\n\n const createConversation = async (\n id: string,\n prompt: string,\n attachments?: File[],\n ) => {\n setSelectedConversation(id)\n await sendMessage(id, prompt, attachments)\n }\n\n const handleSend = async (prompt: string, attachments?: File[]) => {\n setIsTyping(true)\n if (selectedConversation) {\n creteMyMessage(selectedConversation, prompt)\n await sendMessage(selectedConversation, prompt)\n } else {\n const newId = uniqueId('ai-chat-')\n pushChatHistory({\n id: newId,\n title: prompt,\n lastConversation: '',\n createdTime: dayjs().unix(),\n updatedTime: dayjs().unix(),\n enable: false,\n })\n creteMyMessage(newId, prompt)\n await createConversation(newId, prompt, attachments)\n }\n }\n\n return {\n handleSend,\n }\n}\n\nexport default useChatSend\n"],"names":[],"mappings":";;;;AAMA,MAAM,cAAc,MAAM;AACtB,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA,IACA,sBAAA;AAEJ,QAAM,iBAAiB,CAAC,IAAY,WAAmB;AACnD,qBAAiB,IAAI;AAAA,MACjB,IAAI,SAAS,kBAAkB;AAAA,MAC/B,QAAQ;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAgB;AAAA,MAAA;AAAA,MAEpB,SAAS;AAAA,MACT,WAAW,MAAA,EAAQ,OAAA;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,IAAA,CAChB;AAAA,EACL;AAEA,QAAM,cAAc,OAChB,IACA,QACA,gBACC;AACD,UAAM,OAAO,MAAM,YAAgC;AAAA,MAC/C;AAAA,MACA;AAAA,IAAA,CACH;AACD,qBAAiB,IAAI;AAAA,MACjB,IAAI,SAAS,kBAAkB;AAAA,MAC/B,QAAQ;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,gBAAgB;AAAA,MAAA;AAAA,MAEpB,SAAS,KAAK,QAAQ,CAAC,EAAE,QAAQ,WAAW;AAAA,MAC5C,WAAW,MAAA,EAAQ,OAAA;AAAA,MACnB,MAAM;AAAA,MACN,aAAa;AAAA,MACb,OAAO;AAAA,IAAA,CACV;AACD,gBAAY,KAAK;AAAA,EACrB;AAEA,QAAM,qBAAqB,OACvB,IACA,QACA,gBACC;AACD,4BAAwB,EAAE;AAC1B,UAAM,YAAY,IAAI,QAAQ,WAAW;AAAA,EAC7C;AAEA,QAAM,aAAa,OAAO,QAAgB,gBAAyB;AAC/D,gBAAY,IAAI;AAChB,QAAI,sBAAsB;AACtB,qBAAe,sBAAsB,MAAM;AAC3C,YAAM,YAAY,sBAAsB,MAAM;AAAA,IAClD,OAAO;AACH,YAAM,QAAQ,SAAS,UAAU;AACjC,sBAAgB;AAAA,QACZ,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,kBAAkB;AAAA,QAClB,aAAa,MAAA,EAAQ,KAAA;AAAA,QACrB,aAAa,MAAA,EAAQ,KAAA;AAAA,QACrB,QAAQ;AAAA,MAAA,CACX;AACD,qBAAe,OAAO,MAAM;AAC5B,YAAM,mBAAmB,OAAO,QAAQ,WAAW;AAAA,IACvD;AAAA,EACJ;AAEA,SAAO;AAAA,IACH;AAAA,EAAA;AAER;"}
|
|
@@ -33,35 +33,19 @@ const usGenerativeChatStore = create((set, get) => ({
|
|
|
33
33
|
}
|
|
34
34
|
return { selectedConversationRecord: record };
|
|
35
35
|
}),
|
|
36
|
-
pushChatHistory: (payload) => set(() => ({ chatHistory: [payload, ...get().chatHistory] })),
|
|
37
|
-
pushConversation: (id, conversation) => set(() =>
|
|
38
|
-
chatHistory
|
|
39
|
-
(chat
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
)
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
* Atualiza UMA mensagem de uma conversa.
|
|
50
|
-
*
|
|
51
|
-
* Imutavel de proposito: o streaming chama isto a cada token, e mutar o
|
|
52
|
-
* objeto no lugar faria o React perder atualizacoes — a re-renderizacao
|
|
53
|
-
* dependeria da identidade do array externo mudar por acaso.
|
|
54
|
-
*/
|
|
55
|
-
updateConversation: (chatId, messageId, patch) => set(() => ({
|
|
56
|
-
chatHistory: get().chatHistory.map(
|
|
57
|
-
(chat) => chat.id === chatId ? {
|
|
58
|
-
...chat,
|
|
59
|
-
conversation: chat.conversation?.map(
|
|
60
|
-
(mensagem) => mensagem.id === messageId ? { ...mensagem, ...patch } : mensagem
|
|
61
|
-
)
|
|
62
|
-
} : chat
|
|
63
|
-
)
|
|
64
|
-
})),
|
|
36
|
+
pushChatHistory: (payload) => set(() => ({ chatHistory: [...[payload], ...get().chatHistory] })),
|
|
37
|
+
pushConversation: (id, conversation) => set(() => {
|
|
38
|
+
const chatHistory = get().chatHistory.map((chat) => {
|
|
39
|
+
if (chat.id === id) {
|
|
40
|
+
if (!chat.conversation) {
|
|
41
|
+
chat.conversation = [];
|
|
42
|
+
}
|
|
43
|
+
chat.conversation?.push(conversation);
|
|
44
|
+
}
|
|
45
|
+
return chat;
|
|
46
|
+
});
|
|
47
|
+
return { chatHistory };
|
|
48
|
+
}),
|
|
65
49
|
setIsTyping: (payload) => set(() => ({ isTyping: payload })),
|
|
66
50
|
disabledChatFresh: () => set(() => {
|
|
67
51
|
const chatHistory = get().chatHistory.map((chat) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generativeChatStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { ChatHistories, ChatHistory, Conversation } from '../types'\n\ntype RenameDialog = {\n id: string\n title: string\n open: boolean\n}\n\nexport type GenerativeChatState = {\n selectedConversation: string\n selectedConversationRecord: string[]\n chatHistory: ChatHistories\n renameDialog: RenameDialog\n isTyping: boolean\n}\n\ntype GenerativeChatAction = {\n setSelectedConversation: (payload: string) => void\n setSelectedConversationRecord: (payload: string) => void\n setChatHistory: (payload: ChatHistories) => void\n setChatHistoryName: (payload: { id: string; title: string }) => void\n setRenameDialog: (payload: RenameDialog) => void\n setIsTyping: (payload: boolean) => void\n pushChatHistory: (payload: ChatHistory) => void\n pushConversation: (id: string, conversation: Conversation) => void\n
|
|
1
|
+
{"version":3,"file":"generativeChatStore.js","sources":["../../../../../../../lib/@ecme/views/concepts/ai/Chat/store/generativeChatStore.ts"],"sourcesContent":["import { create } from 'zustand'\nimport type { ChatHistories, ChatHistory, Conversation } from '../types'\n\ntype RenameDialog = {\n id: string\n title: string\n open: boolean\n}\n\nexport type GenerativeChatState = {\n selectedConversation: string\n selectedConversationRecord: string[]\n chatHistory: ChatHistories\n renameDialog: RenameDialog\n isTyping: boolean\n}\n\ntype GenerativeChatAction = {\n setSelectedConversation: (payload: string) => void\n setSelectedConversationRecord: (payload: string) => void\n setChatHistory: (payload: ChatHistories) => void\n setChatHistoryName: (payload: { id: string; title: string }) => void\n setRenameDialog: (payload: RenameDialog) => void\n setIsTyping: (payload: boolean) => void\n pushChatHistory: (payload: ChatHistory) => void\n pushConversation: (id: string, conversation: Conversation) => void\n disabledChatFresh: (id: string) => void\n}\n\nconst initialState: GenerativeChatState = {\n selectedConversation: '',\n selectedConversationRecord: [],\n chatHistory: [],\n renameDialog: {\n id: '',\n title: '',\n open: false,\n },\n isTyping: false,\n}\n\nexport const usGenerativeChatStore = create<\n GenerativeChatState & GenerativeChatAction\n>((set, get) => ({\n ...initialState,\n setSelectedConversation: (payload) =>\n set(() => ({ selectedConversation: payload })),\n setChatHistory: (payload) => set(() => ({ chatHistory: payload })),\n setChatHistoryName: (payload) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === payload.id) {\n chat.title = payload.title\n }\n return chat\n })\n return { chatHistory }\n }),\n setRenameDialog: (payload) => set(() => ({ renameDialog: payload })),\n setSelectedConversationRecord: (payload) =>\n set(() => {\n let record = get().selectedConversationRecord\n\n if (record.includes(payload)) {\n record = record.filter((item) => item !== payload)\n } else {\n record.push(payload)\n }\n\n return { selectedConversationRecord: record }\n }),\n pushChatHistory: (payload) =>\n set(() => ({ chatHistory: [...[payload], ...get().chatHistory] })),\n pushConversation: (id, conversation) =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === id) {\n if (!chat.conversation) {\n chat.conversation = []\n }\n chat.conversation?.push(conversation)\n }\n return chat\n })\n return { chatHistory }\n }),\n setIsTyping: (payload) => set(() => ({ isTyping: payload })),\n disabledChatFresh: () =>\n set(() => {\n const chatHistory = get().chatHistory.map((chat) => {\n if (chat.id === get().selectedConversation) {\n chat.conversation = chat.conversation?.map(\n (conversation) => {\n if (conversation.fresh) {\n conversation.fresh = false\n }\n return conversation\n },\n )\n }\n return chat\n })\n return { chatHistory }\n }),\n}))\n"],"names":[],"mappings":";AA6BA,MAAM,eAAoC;AAAA,EACtC,sBAAsB;AAAA,EACtB,4BAA4B,CAAA;AAAA,EAC5B,aAAa,CAAA;AAAA,EACb,cAAc;AAAA,IACV,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,MAAM;AAAA,EAAA;AAAA,EAEV,UAAU;AACd;AAEO,MAAM,wBAAwB,OAEnC,CAAC,KAAK,SAAS;AAAA,EACb,GAAG;AAAA,EACH,yBAAyB,CAAC,YACtB,IAAI,OAAO,EAAE,sBAAsB,UAAU;AAAA,EACjD,gBAAgB,CAAC,YAAY,IAAI,OAAO,EAAE,aAAa,UAAU;AAAA,EACjE,oBAAoB,CAAC,YACjB,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,QAAQ,IAAI;AACxB,aAAK,QAAQ,QAAQ;AAAA,MACzB;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AAAA,EACL,iBAAiB,CAAC,YAAY,IAAI,OAAO,EAAE,cAAc,UAAU;AAAA,EACnE,+BAA+B,CAAC,YAC5B,IAAI,MAAM;AACN,QAAI,SAAS,MAAM;AAEnB,QAAI,OAAO,SAAS,OAAO,GAAG;AAC1B,eAAS,OAAO,OAAO,CAAC,SAAS,SAAS,OAAO;AAAA,IACrD,OAAO;AACH,aAAO,KAAK,OAAO;AAAA,IACvB;AAEA,WAAO,EAAE,4BAA4B,OAAA;AAAA,EACzC,CAAC;AAAA,EACL,iBAAiB,CAAC,YACd,IAAI,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,OAAO,GAAG,GAAG,MAAM,WAAW,IAAI;AAAA,EACrE,kBAAkB,CAAC,IAAI,iBACnB,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,IAAI;AAChB,YAAI,CAAC,KAAK,cAAc;AACpB,eAAK,eAAe,CAAA;AAAA,QACxB;AACA,aAAK,cAAc,KAAK,YAAY;AAAA,MACxC;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AAAA,EACL,aAAa,CAAC,YAAY,IAAI,OAAO,EAAE,UAAU,UAAU;AAAA,EAC3D,mBAAmB,MACf,IAAI,MAAM;AACN,UAAM,cAAc,IAAA,EAAM,YAAY,IAAI,CAAC,SAAS;AAChD,UAAI,KAAK,OAAO,IAAA,EAAM,sBAAsB;AACxC,aAAK,eAAe,KAAK,cAAc;AAAA,UACnC,CAAC,iBAAiB;AACd,gBAAI,aAAa,OAAO;AACpB,2BAAa,QAAQ;AAAA,YACzB;AACA,mBAAO;AAAA,UACX;AAAA,QAAA;AAAA,MAER;AACA,aAAO;AAAA,IACX,CAAC;AACD,WAAO,EAAE,YAAA;AAAA,EACb,CAAC;AACT,EAAE;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../lib/@ecme/views/dashboards/index.ts"],"sourcesContent":["// Dashboard components exports\n// Add specific dashboard component exports as needed\nexport const dashboardsPlaceholder = 'Dashboard components';\n"],"names":[],"mappings":"AAEO,MAAM,wBAAwB;"}
|
|
@@ -2,6 +2,7 @@ import { default as default2 } from "./Views.js";
|
|
|
2
2
|
import { authPlaceholder } from "./auth/index.js";
|
|
3
3
|
import { authDemoPlaceholder } from "./auth-demo/index.js";
|
|
4
4
|
import { conceptsPlaceholder } from "./concepts/index.js";
|
|
5
|
+
import { dashboardsPlaceholder } from "./dashboards/index.js";
|
|
5
6
|
import { guidePlaceholder } from "./guide/index.js";
|
|
6
7
|
import { uiComponentsPlaceholder } from "./ui-components/index.js";
|
|
7
8
|
import { othersPlaceholder } from "./others/index.js";
|
|
@@ -10,6 +11,7 @@ export {
|
|
|
10
11
|
authDemoPlaceholder,
|
|
11
12
|
authPlaceholder,
|
|
12
13
|
conceptsPlaceholder,
|
|
14
|
+
dashboardsPlaceholder,
|
|
13
15
|
guidePlaceholder,
|
|
14
16
|
othersPlaceholder,
|
|
15
17
|
uiComponentsPlaceholder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PostLoginLayout.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY1C,UAAU,oBAAqB,SAAQ,WAAW;IAChD,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,QAAA,MAAM,eAAe,GAAI,oDAKtB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"PostLoginLayout.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/layouts/PostLoginLayout/PostLoginLayout.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAY1C,UAAU,oBAAqB,SAAQ,WAAW;IAChD,UAAU,EAAE,UAAU,CAAC;IACvB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsBD,QAAA,MAAM,eAAe,GAAI,oDAKtB,oBAAoB,4CA2BtB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { NavigationTree } from '@/@types/navigation';
|
|
2
|
-
export declare const filterNavigationByAuthority: (navTree: NavigationTree[], userAuthority: string[]) => NavigationTree[];
|
|
3
1
|
declare const Search: import("react").FC<import("@/utils/hoc/withHeaderItem").WithHeaderItemProps>;
|
|
4
2
|
export default Search;
|
|
5
3
|
//# sourceMappingURL=Search.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/components/template/Search.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/components/template/Search.tsx"],"names":[],"mappings":"AA8UA,QAAA,MAAM,MAAM,8EAA0B,CAAA;AAEtC,eAAe,MAAM,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatBox.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/view/ChatBox/ChatBox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAC9B,cAAc,CAAA;AAElB,QAAA,MAAM,OAAO,
|
|
1
|
+
{"version":3,"file":"ChatBox.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/components/view/ChatBox/ChatBox.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AACpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAItC,MAAM,MAAM,WAAW,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;AAElD,MAAM,MAAM,YAAY,GAAG;IACvB,WAAW,EAAE,WAAW,CAAA;IACxB,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IACrC,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,GAC9B,cAAc,CAAA;AAElB,QAAA,MAAM,OAAO,wIA4CX,CAAA;AAIF,eAAe,OAAO,CAAA"}
|
|
@@ -2,7 +2,6 @@ import type { ReactNode } from 'react';
|
|
|
2
2
|
import type { MessageProps } from './Message';
|
|
3
3
|
type List = MessageProps & {
|
|
4
4
|
fresh?: boolean;
|
|
5
|
-
isError?: boolean;
|
|
6
5
|
};
|
|
7
6
|
export type MessageListProps = {
|
|
8
7
|
list: List[];
|
|
@@ -16,10 +15,6 @@ export type MessageListProps = {
|
|
|
16
15
|
customRenderer?: (message: List, index: number) => string | ReactNode;
|
|
17
16
|
customAction?: (message: List, index: number) => string | ReactNode;
|
|
18
17
|
bubbleClass?: string;
|
|
19
|
-
myBubbleClass?: string;
|
|
20
|
-
botBubbleClass?: string;
|
|
21
|
-
errorBubbleClass?: string;
|
|
22
|
-
renderTyping?: () => ReactNode;
|
|
23
18
|
messageListClass?: string;
|
|
24
19
|
};
|
|
25
20
|
declare const MessageList: import("react").ForwardRefExoticComponent<MessageListProps & import("react").RefAttributes<import("simplebar-core").default>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../../../lib/@ecme/components/view/ChatBox/components/MessageList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,KAAK,IAAI,GAAG,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../../../lib/@ecme/components/view/ChatBox/components/MessageList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAGtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAE7C,KAAK,IAAI,GAAG,YAAY,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,CAAA;AAE9C,MAAM,MAAM,gBAAgB,GAAG;IAC3B,IAAI,EAAE,IAAI,EAAE,CAAA;IACZ,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,MAAM,CAAC,EACD;QACI,EAAE,EAAE,MAAM,CAAA;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,cAAc,CAAC,EAAE,MAAM,CAAA;KAC1B,GACD,KAAK,CAAA;IACX,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IACrE,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAA;IACnE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,QAAA,MAAM,WAAW,+HA6Df,CAAA;AAIF,eAAe,WAAW,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concepts.navigation.config.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/configs/navigation.config/concepts.navigation.config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,QAAA,MAAM,wBAAwB,EAAE,cAAc,
|
|
1
|
+
{"version":3,"file":"concepts.navigation.config.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/configs/navigation.config/concepts.navigation.config.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,QAAA,MAAM,wBAAwB,EAAE,cAAc,EAgoB7C,CAAA;AAED,eAAe,wBAAwB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conceptsRoute.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/configs/routes.config/conceptsRoute.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,QAAA,MAAM,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"conceptsRoute.d.ts","sourceRoot":"","sources":["../../../../../lib/@ecme/configs/routes.config/conceptsRoute.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAE7C,QAAA,MAAM,aAAa,EAAE,MA4VpB,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,eAAe,IAAI,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../lib/@ecme/locales/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAA;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AACvC,OAAO,EACN,8BAA8B,EAC9B,yBAAyB,GACzB,MAAM,WAAW,CAAA;AAClB,eAAe,IAAI,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/locales/lang/ptBR/nav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"nav.d.ts","sourceRoot":"","sources":["../../../../../../lib/@ecme/locales/lang/ptBR/nav.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,WAAW,CAAA;wBAgVxB,OAAO,KAAK;AAxUjB,wBAwUiB"}
|