@credithub/harlan-components 1.40.2 → 1.40.4

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.
@@ -3,6 +3,7 @@ export type { BankAccount, BankAccountsState } from '@/@types/domain/bankAccount
3
3
  export type { CCFData, CCFState } from '@/@types/domain/ccfTypes';
4
4
  export type { Contact, ContactsState } from '@/@types/domain/contactsTypes';
5
5
  export type { Divida, DividasPublicasState } from '@/@types/domain/dividasTypes';
6
+ export type { DocumentHistoryData } from '@/@types/domain/documentHistoryData';
6
7
  export type { CarouselState, DossieState, SummaryState, TransactionTableState } from '@/@types/domain/dossieTypes';
7
8
  export type { IPTUItem, ImoveisConsultaResponse } from '@/@types/domain/imoveisTypes';
8
9
  export type { LiminarResponse } from '@/@types/domain/liminarTypes';
@@ -2,7 +2,19 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
2
2
  if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
3
  return cooked;
4
4
  };
5
+ var __assign = (this && this.__assign) || function () {
6
+ __assign = Object.assign || function(t) {
7
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
8
+ s = arguments[i];
9
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
10
+ t[p] = s[p];
11
+ }
12
+ return t;
13
+ };
14
+ return __assign.apply(this, arguments);
15
+ };
5
16
  import ResumoDeNegativacoesIcon from '../../assets/icones/resumoNegativacoes';
17
+ import { useGlobalData } from '../../contexts/globalDataContext';
6
18
  import { converterParaFormatoValido } from '../../utils/date';
7
19
  import React, { useContext, useEffect, useState } from 'react';
8
20
  import styled from 'styled-components';
@@ -20,33 +32,28 @@ var ChartSystem = function (_a) {
20
32
  var _b, _c, _d, _e, _f, _g, _h, _j;
21
33
  var documento = _a.documento;
22
34
  var ctxConsultasComplementares = useContext(ConsultasComplementaresContext);
35
+ var setGlobalState = useGlobalData().setData;
36
+ var _k = useState(false), dataUpdated = _k[0], setDataUpdated = _k[1];
37
+ var ultimaOcorrenciaCCF = useUltimaOcorrenciaCCF();
23
38
  var consultaSerasa = (_c = (_b = ctxConsultasComplementares === null || ctxConsultasComplementares === void 0 ? void 0 : ctxConsultasComplementares.consultasComplementares) === null || _b === void 0 ? void 0 : _b.refinSerasa) === null || _c === void 0 ? void 0 : _c.data;
24
39
  var consultaBoaVista = (_e = (_d = ctxConsultasComplementares === null || ctxConsultasComplementares === void 0 ? void 0 : ctxConsultasComplementares.consultasComplementares) === null || _d === void 0 ? void 0 : _d.refinBoaVista) === null || _e === void 0 ? void 0 : _e.data;
25
- var _k = useChartData(documento, consultaSerasa, consultaBoaVista), data = _k.data, isLoadingChart = _k.isLoading, errorChart = _k.error, refetchChart = _k.refetch, chartDataProgress = _k.loadingProgress;
26
- var _l = useState(false), refetchTriggered = _l[0], setRefetchTriggered = _l[1];
40
+ var _l = useChartData(documento, consultaSerasa, consultaBoaVista), chartData = _l.data, isLoadingChart = _l.isLoading, errorChart = _l.error, refetchChart = _l.refetch, chartDataProgress = _l.loadingProgress;
27
41
  var _m = useDividasPublicas(), quantidadeDividas = _m.quantidade, valorTotalDividas = _m.valorTotal, ultimaOcorrenciaDividas = _m.ultimaOcorrencia, dividasProgress = _m.loadingProgress;
28
42
  useEffect(function () {
29
43
  if (consultaSerasa || consultaBoaVista) {
30
44
  refetchChart();
31
- setRefetchTriggered(true);
32
45
  }
33
46
  }, [consultaSerasa, consultaBoaVista, refetchChart]);
34
- useEffect(function () {
35
- if (refetchTriggered) {
36
- setRefetchTriggered(false);
37
- }
38
- }, [refetchTriggered]);
39
47
  var errorMessage = typeof errorChart === 'string' ? new Error(errorChart) : errorChart;
40
48
  var isOpen = useToggle(true)[0];
41
- var ultimaOcorrenciaCCF = useUltimaOcorrenciaCCF();
42
- var quantidadeProtestos = ((_g = (_f = data === null || data === void 0 ? void 0 : data.protestos) === null || _f === void 0 ? void 0 : _f[(data === null || data === void 0 ? void 0 : data.protestos.length) - 1]) === null || _g === void 0 ? void 0 : _g.quantidade) || 0;
43
- var valorTotalProtestos = ((_j = (_h = data === null || data === void 0 ? void 0 : data.protestos) === null || _h === void 0 ? void 0 : _h[(data === null || data === void 0 ? void 0 : data.protestos.length) - 1]) === null || _j === void 0 ? void 0 : _j.valorTotal) || 0;
44
- var _o = useCalculation((data === null || data === void 0 ? void 0 : data.serasa) || []), quantidadeSerasa = _o.quantidade, valorTotalSerasa = _o.valorTotal, ultimaOcorrenciaSerasa = _o.dataMaisRecente;
45
- var _p = useCalculation((data === null || data === void 0 ? void 0 : data.boaVista) || []), quantidadeBoaVista = _p.quantidade, valorTotalBoaVista = _p.valorTotal, ultimaOcorrenciaBoaVista = _p.dataMaisRecente;
46
- var quantidadeCCFs = useCalculation((data === null || data === void 0 ? void 0 : data.ccfs) || []).quantidade;
49
+ var quantidadeProtestos = ((_g = (_f = chartData === null || chartData === void 0 ? void 0 : chartData.protestos) === null || _f === void 0 ? void 0 : _f[(chartData === null || chartData === void 0 ? void 0 : chartData.protestos.length) - 1]) === null || _g === void 0 ? void 0 : _g.quantidade) || 0;
50
+ var valorTotalProtestos = ((_j = (_h = chartData === null || chartData === void 0 ? void 0 : chartData.protestos) === null || _h === void 0 ? void 0 : _h[(chartData === null || chartData === void 0 ? void 0 : chartData.protestos.length) - 1]) === null || _j === void 0 ? void 0 : _j.valorTotal) || 0;
51
+ var _o = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.serasa) || []), quantidadeSerasa = _o.quantidade, valorTotalSerasa = _o.valorTotal, ultimaOcorrenciaSerasa = _o.dataMaisRecente;
52
+ var _p = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.boaVista) || []), quantidadeBoaVista = _p.quantidade, valorTotalBoaVista = _p.valorTotal, ultimaOcorrenciaBoaVista = _p.dataMaisRecente;
53
+ var quantidadeCCFs = useCalculation((chartData === null || chartData === void 0 ? void 0 : chartData.ccfs) || []).quantidade;
47
54
  var ultimaOcorrenciaProtestos = '';
48
- if ((data === null || data === void 0 ? void 0 : data.protestosCategory) && data.protestosCategory.length > 0) {
49
- var datasOcorrencias = data.protestosCategory
55
+ if ((chartData === null || chartData === void 0 ? void 0 : chartData.protestosCategory) && chartData.protestosCategory.length > 0) {
56
+ var datasOcorrencias = chartData.protestosCategory
50
57
  .map(function (categoria) { return categoria.ultimaOcorrencia; })
51
58
  .filter(Boolean)
52
59
  .map(function (data) {
@@ -64,6 +71,42 @@ var ChartSystem = function (_a) {
64
71
  }
65
72
  }
66
73
  var loadingProgress = (chartDataProgress + dividasProgress) / 2;
74
+ useEffect(function () {
75
+ if (!dataUpdated && chartData) {
76
+ setGlobalState(function (prevState) {
77
+ var _a;
78
+ return (__assign(__assign({}, prevState), { documentHistory: {
79
+ quantidadeProtestos: quantidadeProtestos,
80
+ quantidadeProcessos: ((_a = chartData === null || chartData === void 0 ? void 0 : chartData.pieChartTotalConfig) === null || _a === void 0 ? void 0 : _a.processosJuridicos) || 0,
81
+ quantidadeDividas: quantidadeDividas,
82
+ quantidadeDividasSerasa: quantidadeSerasa,
83
+ quantidadeDividasBoaVista: quantidadeBoaVista,
84
+ quantidadeChequesSemFundos: quantidadeCCFs,
85
+ ultimaOcorrenciaChequesSemFundos: ultimaOcorrenciaCCF,
86
+ valorTotalDividasSerasa: valorTotalSerasa,
87
+ valorTotalDividasBoaVista: valorTotalBoaVista,
88
+ valorTotalProtestos: valorTotalProtestos,
89
+ valorTotalDividas: valorTotalDividas,
90
+ ultimaOcorrenciaProtestos: ultimaOcorrenciaProtestos,
91
+ ultimaOcorrenciaDividas: ultimaOcorrenciaDividas,
92
+ ultimaOcorrenciaPefinBoaVista: quantidadeBoaVista > 0
93
+ ? (ultimaOcorrenciaBoaVista !== null && ultimaOcorrenciaBoaVista !== void 0 ? ultimaOcorrenciaBoaVista : undefined)
94
+ : undefined,
95
+ ultimaOcorrenciaPefinSerasa: quantidadeSerasa > 0
96
+ ? (ultimaOcorrenciaSerasa !== null && ultimaOcorrenciaSerasa !== void 0 ? ultimaOcorrenciaSerasa : undefined)
97
+ : undefined
98
+ } }));
99
+ });
100
+ setDataUpdated(true);
101
+ }
102
+ }, [
103
+ chartData,
104
+ quantidadeDividas,
105
+ valorTotalDividas,
106
+ ultimaOcorrenciaDividas,
107
+ setGlobalState,
108
+ ultimaOcorrenciaCCF
109
+ ]);
67
110
  return (React.createElement(Section, { ctx: {
68
111
  response: undefined,
69
112
  type: isLoadingChart
@@ -73,14 +116,14 @@ var ChartSystem = function (_a) {
73
116
  : RequestStatus.Success,
74
117
  error: errorMessage || null,
75
118
  refetch: refetchChart,
76
- document: data,
119
+ document: chartData,
77
120
  progress: loadingProgress,
78
121
  Section: Section
79
122
  }, title: "Resumo de Negativa\u00E7\u00F5es", subtitle: "Veja a quantidade de ocorr\u00EAncias conforme o documento foi consultado ao longo do tempo", icon: ResumoDeNegativacoesIcon, onSuccess: function () {
80
123
  var _a;
81
124
  return (React.createElement(Content, { isOpen: isOpen },
82
- data && React.createElement(ChartContent, { dataInput: data }),
83
- React.createElement(QuantidadeResultados, { data: data, quantidadeProtestos: quantidadeProtestos, quantidadeProcessos: (_a = data === null || data === void 0 ? void 0 : data.pieChartTotalConfig) === null || _a === void 0 ? void 0 : _a.processosJuridicos, quantidadeDividas: quantidadeDividas, quantidadeDividasSerasa: quantidadeSerasa, quantidadeDividasBoaVista: quantidadeBoaVista, quantidadeChequesSemFundos: quantidadeCCFs, ultimaOcorrenciaChequesSemFundos: ultimaOcorrenciaCCF, valorTotalDividasSerasa: valorTotalSerasa, valorTotalDividasBoaVista: valorTotalBoaVista, valorTotalProtestos: valorTotalProtestos, valorTotalDividas: valorTotalDividas, ultimaOcorrenciaProtestos: ultimaOcorrenciaProtestos, ultimaOcorrenciaDividas: ultimaOcorrenciaDividas, ultimaOcorrenciaPefinBoaVista: quantidadeBoaVista > 0
125
+ chartData && React.createElement(ChartContent, { dataInput: chartData }),
126
+ React.createElement(QuantidadeResultados, { data: chartData, quantidadeProtestos: quantidadeProtestos, quantidadeProcessos: (_a = chartData === null || chartData === void 0 ? void 0 : chartData.pieChartTotalConfig) === null || _a === void 0 ? void 0 : _a.processosJuridicos, quantidadeDividas: quantidadeDividas, quantidadeDividasSerasa: quantidadeSerasa, quantidadeDividasBoaVista: quantidadeBoaVista, quantidadeChequesSemFundos: quantidadeCCFs, ultimaOcorrenciaChequesSemFundos: ultimaOcorrenciaCCF, valorTotalDividasSerasa: valorTotalSerasa, valorTotalDividasBoaVista: valorTotalBoaVista, valorTotalProtestos: valorTotalProtestos, valorTotalDividas: valorTotalDividas, ultimaOcorrenciaProtestos: ultimaOcorrenciaProtestos, ultimaOcorrenciaDividas: ultimaOcorrenciaDividas, ultimaOcorrenciaPefinBoaVista: quantidadeBoaVista > 0
84
127
  ? (ultimaOcorrenciaBoaVista !== null && ultimaOcorrenciaBoaVista !== void 0 ? ultimaOcorrenciaBoaVista : undefined)
85
128
  : undefined, ultimaOcorrenciaPefinSerasa: quantidadeSerasa > 0
86
129
  ? (ultimaOcorrenciaSerasa !== null && ultimaOcorrenciaSerasa !== void 0 ? ultimaOcorrenciaSerasa : undefined)
@@ -1,3 +1,4 @@
1
+ import { DocumentHistoryData } from '../../../@types/domain';
1
2
  export interface Consulta {
2
3
  data: string | Date;
3
4
  categoria?: string;
@@ -25,6 +26,7 @@ export interface DataInput {
25
26
  };
26
27
  };
27
28
  protestosCategory?: ProtestoData[];
29
+ documentHistory?: DocumentHistoryData;
28
30
  }
29
31
  export interface ProtestoData {
30
32
  categoria: string;
@@ -24,12 +24,12 @@ import { Section } from '../section';
24
24
  import { Queries, RequestStatus } from '../webservice';
25
25
  import { Carrousel } from './carrousel/carrousel';
26
26
  import { createDossieData } from './dossieData';
27
- import Llama from './llama/llama';
27
+ import GenerativeAI from './generativeAi/generativeAi';
28
28
  import { Summary } from './summary/summary';
29
29
  import { TransactionsTable } from './transactionTable/transactionTable';
30
30
  var DossieContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: grid;\n grid-template-columns: 1fr 2fr;\n justify-items: center;\n align-items: flex-start;\n margin-bottom: 20px;\n gap: 20px;\n\n @media screen and (max-width: 992px) {\n grid-template-columns: 1fr;\n }\n"], ["\n display: grid;\n grid-template-columns: 1fr 2fr;\n justify-items: center;\n align-items: flex-start;\n margin-bottom: 20px;\n gap: 20px;\n\n @media screen and (max-width: 992px) {\n grid-template-columns: 1fr;\n }\n"])));
31
31
  var DossieContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 0px 70px;\n\n @media (max-width: 1000px) {\n padding: 0px 30px;\n }\n"], ["\n padding: 0px 70px;\n\n @media (max-width: 1000px) {\n padding: 0px 30px;\n }\n"])));
32
- var LlamaContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 32px;\n background-color: ", ";\n"], ["\n padding: 32px;\n background-color: ", ";\n"])), function (_a) {
32
+ var GenerativeAIContainer = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 32px;\n background-color: ", ";\n"], ["\n padding: 32px;\n background-color: ", ";\n"])), function (_a) {
33
33
  var theme = _a.theme;
34
34
  return theme.colors.white;
35
35
  });
@@ -71,8 +71,8 @@ var Dossie = function (_a) {
71
71
  React.createElement(DossieCarrousel, null),
72
72
  React.createElement(Summary, { finderResponse: data, rfbResponse: rfbResponse, document: document })),
73
73
  React.createElement(TransactionsTable, { events: XPathUtils.select('//historico/consulta', data) || [] })),
74
- React.createElement(LlamaContainer, null,
75
- React.createElement(Llama, { documento: document }))));
74
+ React.createElement(GenerativeAIContainer, null,
75
+ React.createElement(GenerativeAI, { documento: document }))));
76
76
  };
77
77
  return (React.createElement(Section, { ctx: ctx, hideHeader: true, minimized: false, isError: function (e) { return response(e); }, onSuccess: response }));
78
78
  };
@@ -1,7 +1,5 @@
1
1
  export declare function flattenData(data: any): string;
2
2
  export declare function limitDataSize(items: any[], maxItems: number): any[];
3
- export declare const selectRelevantData: (data: any, documento: string) => {
4
- dadosFiltrados: {
5
- [k: string]: any;
6
- };
3
+ export declare const selectRelevantData: (data: any) => {
4
+ dadosFiltrados: any;
7
5
  };
@@ -0,0 +1,136 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { safeStringify } from './responseUtils';
3
+ export function flattenData(data) {
4
+ var flattened = {};
5
+ for (var key in data) {
6
+ if (typeof data[key] === 'object' && !Array.isArray(data[key])) {
7
+ var innerData = data[key];
8
+ for (var innerKey in innerData) {
9
+ flattened[innerKey] = innerData[innerKey];
10
+ }
11
+ }
12
+ else {
13
+ flattened[key] = data[key];
14
+ }
15
+ }
16
+ return safeStringify(flattened);
17
+ }
18
+ export function limitDataSize(items, maxItems) {
19
+ if (!Array.isArray(items))
20
+ return [];
21
+ return items.slice(0, maxItems).map(function (item) {
22
+ if (typeof item === 'object') {
23
+ return Object.keys(item).reduce(function (limitedItem, key, index) {
24
+ if (index < maxItems) {
25
+ limitedItem[key] = item[key];
26
+ }
27
+ return limitedItem;
28
+ }, {});
29
+ }
30
+ return item;
31
+ });
32
+ }
33
+ function isEmptyObject(obj) {
34
+ if (typeof obj !== 'object' || obj === null)
35
+ return false;
36
+ return Object.values(obj).every(function (value) { return isEmptyObject(value); });
37
+ }
38
+ function deepCleanData(data) {
39
+ if (typeof data !== 'object' || data === null)
40
+ return data;
41
+ if (Array.isArray(data)) {
42
+ var cleanedArray = data
43
+ .map(function (item) { return deepCleanData(item); })
44
+ .filter(function (item) {
45
+ return item !== null &&
46
+ item !== undefined &&
47
+ item !== '' &&
48
+ !(Array.isArray(item) && item.length === 0);
49
+ });
50
+ return cleanedArray.length > 0 ? cleanedArray : null;
51
+ }
52
+ var cleanedObject = Object.entries(data).reduce(function (acc, _a) {
53
+ var key = _a[0], value = _a[1];
54
+ if (key === 'props')
55
+ return acc;
56
+ var cleanedValue = deepCleanData(value);
57
+ if (cleanedValue !== null &&
58
+ cleanedValue !== undefined &&
59
+ cleanedValue !== '' &&
60
+ !(typeof cleanedValue === 'object' && isEmptyObject(cleanedValue))) {
61
+ acc[key] = cleanedValue;
62
+ }
63
+ return acc;
64
+ }, {});
65
+ return Object.keys(cleanedObject).length > 0 ? cleanedObject : null;
66
+ }
67
+ export var selectRelevantData = function (data) {
68
+ var _a, _b, _c, _d, _e;
69
+ var _f = data || {}, protestosDeCredito = _f.protestos, chequesSemFundo = _f.ccf, dividasPublicas = _f.dividasPublicas, contasBancarias = _f.bankAccounts, dadosDeChequesSemFundo = _f.ccfData, dividas = _f.divida, _g = _f.dossie, dossie = _g === void 0 ? {} : _g, liminar = _f.liminar, socios = _f.partners, dadosPessoasExpostasPoliticamente = _f.pepData, detalhesProcessosJuridicos = _f.processosJuridicosData, dadosReclameAqui = _f.reclameAqui, relatoriosRefinBoaVista = _f.refinBoaVista, relatoriosRefinSerasa = _f.refinSerasa, dadosScore = _f.scoreData, relatoriosSCR = _f.scr, registrosDeVeiculos = _f.veiculos, ResumoDosDados = _f.documentHistory;
70
+ var sociosAnonimizados = (_a = socios === null || socios === void 0 ? void 0 : socios.partners) === null || _a === void 0 ? void 0 : _a.map(function (socio, index) { return ({
71
+ nome: "S\u00F3cio ".concat(index + 1),
72
+ cargo: socio.cargo,
73
+ receitaStatus: socio.receitaStatus || {},
74
+ dividasPublicas: socio.dividasPublicas || {},
75
+ protestos: socio.protestos || {}
76
+ }); });
77
+ var processosPassivos = (_c = (_b = detalhesProcessosJuridicos === null || detalhesProcessosJuridicos === void 0 ? void 0 : detalhesProcessosJuridicos.empresa) === null || _b === void 0 ? void 0 : _b.filter(function (processo) {
78
+ var _a;
79
+ return (_a = processo.envolvidos_ultima_movimentacao) === null || _a === void 0 ? void 0 : _a.some(function (envolvido) {
80
+ var _a, _b, _c;
81
+ return ((_a = envolvido.nome_sem_filtro) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ===
82
+ ((_c = (_b = dossie.carousel) === null || _b === void 0 ? void 0 : _b.name) === null || _c === void 0 ? void 0 : _c.toLowerCase()) &&
83
+ envolvido.envolvido_tipo === 'Passivo';
84
+ });
85
+ })) === null || _c === void 0 ? void 0 : _c.map(function (processo) { return ({
86
+ assuntos: processo.assuntos,
87
+ classe_processual: processo.classe_processual,
88
+ diario_sigla: processo.diario_sigla,
89
+ updated_at: processo.updated_at
90
+ }); });
91
+ var processosAtivo = (_e = (_d = detalhesProcessosJuridicos === null || detalhesProcessosJuridicos === void 0 ? void 0 : detalhesProcessosJuridicos.empresa) === null || _d === void 0 ? void 0 : _d.filter(function (processo) {
92
+ var _a;
93
+ return (_a = processo.envolvidos_ultima_movimentacao) === null || _a === void 0 ? void 0 : _a.some(function (envolvido) {
94
+ var _a, _b, _c;
95
+ return ((_a = envolvido.nome_sem_filtro) === null || _a === void 0 ? void 0 : _a.toLowerCase()) ===
96
+ ((_c = (_b = dossie.carousel) === null || _b === void 0 ? void 0 : _b.name) === null || _c === void 0 ? void 0 : _c.toLowerCase()) &&
97
+ envolvido.envolvido_tipo === 'Ativo';
98
+ });
99
+ })) === null || _e === void 0 ? void 0 : _e.map(function (processo) { return ({
100
+ assuntos: processo.assuntos,
101
+ classe_processual: processo.classe_processual,
102
+ diario_sigla: processo.diario_sigla,
103
+ updated_at: processo.updated_at
104
+ }); });
105
+ var resumoDaEmpresa = dossie.summary;
106
+ var dadosOrganizados = {
107
+ protestosDeCredito: protestosDeCredito,
108
+ processosJuridicosPassivos: processosPassivos,
109
+ processosJuridicosAtivos: processosAtivo,
110
+ detalhesProcessosJuridicos: detalhesProcessosJuridicos,
111
+ chequesSemFundo: chequesSemFundo,
112
+ dividasPublicas: dividasPublicas,
113
+ contasBancarias: contasBancarias,
114
+ dadosDeChequesSemFundo: dadosDeChequesSemFundo,
115
+ dividas: dividas,
116
+ resumoDaEmpresa: resumoDaEmpresa,
117
+ liminar: liminar
118
+ ? liminar.totalProtestos === 'NADA CONSTA'
119
+ ? 'Liminar para esconder protestos'
120
+ : 'NÃO TEM LIMINAR'
121
+ : undefined,
122
+ socios: sociosAnonimizados,
123
+ dadosPessoasExpostasPoliticamente: dadosPessoasExpostasPoliticamente,
124
+ dadosReclameAqui: dadosReclameAqui,
125
+ relatoriosRefinBoaVista: relatoriosRefinBoaVista,
126
+ relatoriosRefinSerasa: relatoriosRefinSerasa,
127
+ dadosScore: dadosScore,
128
+ relatoriosSCR: relatoriosSCR,
129
+ registrosDeVeiculos: registrosDeVeiculos,
130
+ ResumoDosDados: ResumoDosDados
131
+ };
132
+ var dadosFiltrados = deepCleanData(dadosOrganizados);
133
+ return {
134
+ dadosFiltrados: dadosFiltrados
135
+ };
136
+ };
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ interface GenerativeAIProps {
3
+ documento: string;
4
+ }
5
+ declare const GenerativeAI: React.FC<GenerativeAIProps>;
6
+ export default GenerativeAI;
@@ -34,7 +34,7 @@ import ReactMarkdown from 'react-markdown';
34
34
  import { flattenData, selectRelevantData } from './dataUtils';
35
35
  import { createQueryAndMessages } from './queryUtils';
36
36
  import { BetaTag, ChatInput, ChatInputContainer, Container, ContainerInput, Header, HeaderContent, InitialMessageBox, InitialMessageContent, LoadingDots, Message, MessageHistory, SendButton, Title } from './styles';
37
- var Llama = function (_a) {
37
+ var GenerativeAI = function (_a) {
38
38
  var _b, _c, _d;
39
39
  var documento = _a.documento;
40
40
  var globalData = useGlobalData().data;
@@ -113,16 +113,25 @@ var Llama = function (_a) {
113
113
  var newContent = nonEmptyFragments
114
114
  .map(function (e) { return e.message.content; })
115
115
  .join('');
116
- incrementalResponseRef.current =
117
- incrementalResponseRef.current + newContent;
116
+ incrementalResponseRef.current += newContent;
117
+ setMessageHistory(function (prevMessages) {
118
+ var updatedMessages = __spreadArray([], prevMessages, true);
119
+ var lastMessage = updatedMessages[updatedMessages.length - 1];
120
+ if (lastMessage && lastMessage.role === 'assistant') {
121
+ lastMessage.content = incrementalResponseRef.current;
122
+ }
123
+ else {
124
+ updatedMessages.push({
125
+ role: 'assistant',
126
+ content: incrementalResponseRef.current
127
+ });
128
+ }
129
+ return updatedMessages;
130
+ });
118
131
  }
119
132
  if (response.some(function (e) { return e.done; })) {
120
- var aiMessage_1 = incrementalResponseRef.current;
121
- setQueryEnabled(false);
122
133
  incrementalResponseRef.current = '';
123
- setMessageHistory(function (prevMessages) { return __spreadArray(__spreadArray([], prevMessages, true), [
124
- { role: 'assistant', content: aiMessage_1 }
125
- ], false); });
134
+ setQueryEnabled(false);
126
135
  }
127
136
  };
128
137
  useEffect(function () {
@@ -130,7 +139,7 @@ var Llama = function (_a) {
130
139
  if (globalData && documento) {
131
140
  timeoutId = setTimeout(function () {
132
141
  try {
133
- var relevantData = selectRelevantData(globalData, documento);
142
+ var relevantData = selectRelevantData(globalData);
134
143
  var serialized = flattenData(relevantData);
135
144
  setSerializedData(serialized);
136
145
  setQueryEnabled(true);
@@ -268,4 +277,4 @@ var Llama = function (_a) {
268
277
  React.createElement(StopButton, null))) : (React.createElement(SendButton, { onClick: handleSendMessage },
269
278
  React.createElement(BtnSend, null)))))))));
270
279
  };
271
- export default Llama;
280
+ export default GenerativeAI;
@@ -17,7 +17,7 @@ export var createQueryAndMessages = function (relevantData, messageHistory, extr
17
17
  }
18
18
  ], messageHistory, true);
19
19
  return {
20
- model: 'llama3',
20
+ model: 'deepseek-chat',
21
21
  messages: JSON.stringify(baseMessages)
22
22
  };
23
23
  };
@@ -1,4 +1,4 @@
1
- export interface LlamaApiResponse {
1
+ export interface GenerativeAIApiResponse {
2
2
  model: string;
3
3
  created_at: string;
4
4
  message: Message;