code7-leia 0.1.96 → 0.1.98
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/code7-leia.cjs.development.js +148 -49
- package/dist/code7-leia.cjs.development.js.map +1 -1
- package/dist/code7-leia.cjs.production.min.js +1 -1
- package/dist/code7-leia.cjs.production.min.js.map +1 -1
- package/dist/code7-leia.esm.js +149 -50
- package/dist/code7-leia.esm.js.map +1 -1
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/contexts/SharedPropsProvider.d.ts +4 -0
- package/dist/store/index.d.ts +1 -0
- package/dist/store/modules/{Files/Files.actions.d.ts → actions.d.ts} +15 -0
- package/dist/store/modules/{Files/Files.reducer.d.ts → reducer.d.ts} +2 -0
- package/dist/store/modules/{Files/Files.sagas.d.ts → sagas.d.ts} +8 -0
- package/dist/store/modules/{Files/Files.types.d.ts → types.d.ts} +2 -0
- package/package.json +1 -1
- package/src/Leia.tsx +3 -2
- package/src/components/FileArea/index.tsx +3 -3
- package/src/components/Select/index.tsx +1 -1
- package/src/components/TestArea/index.tsx +48 -67
- package/src/contexts/SharedPropsProvider.tsx +18 -0
- package/src/store/index.ts +4 -4
- package/src/store/modules/{Files/Files.actions.ts → actions.ts} +15 -1
- package/src/store/modules/{Files/Files.reducer.ts → reducer.ts} +6 -2
- package/src/store/modules/{Files/Files.sagas.ts → sagas.ts} +16 -5
- package/src/store/modules/{Files/Files.types.ts → types.ts} +3 -1
package/dist/code7-leia.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useDispatch, useSelector, Provider } from 'react-redux';
|
|
2
|
-
import React, { forwardRef, useRef, useCallback, useEffect, useState,
|
|
2
|
+
import React, { forwardRef, useRef, useCallback, useEffect, useState, useContext, createContext, useMemo, Suspense } from 'react';
|
|
3
3
|
import { useRouteMatch, useLocation, useHistory, Switch, Route } from 'react-router-dom';
|
|
4
4
|
import PropTypes from 'prop-types';
|
|
5
5
|
import cc from 'classcat';
|
|
@@ -10,6 +10,7 @@ import { MdClose, MdPerson2 } from 'react-icons/md';
|
|
|
10
10
|
import { useDropzone } from 'react-dropzone';
|
|
11
11
|
import axios from 'axios';
|
|
12
12
|
import { PiWaveformBold } from 'react-icons/pi';
|
|
13
|
+
import { testAction } from 'src/store/modules/actions';
|
|
13
14
|
import { createStore, applyMiddleware } from 'redux';
|
|
14
15
|
import createSagaMiddleware from 'redux-saga';
|
|
15
16
|
import { produce } from 'immer';
|
|
@@ -1013,6 +1014,9 @@ var SharedPropsProvider = function SharedPropsProvider(_ref) {
|
|
|
1013
1014
|
var _useState = useState(null),
|
|
1014
1015
|
tags = _useState[0],
|
|
1015
1016
|
setTags = _useState[1];
|
|
1017
|
+
var _useState2 = useState(null),
|
|
1018
|
+
personas = _useState2[0],
|
|
1019
|
+
setPersonas = _useState2[1];
|
|
1016
1020
|
useEffect(function () {
|
|
1017
1021
|
var fetchData = /*#__PURE__*/function () {
|
|
1018
1022
|
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
@@ -1047,10 +1051,45 @@ var SharedPropsProvider = function SharedPropsProvider(_ref) {
|
|
|
1047
1051
|
return _ref2.apply(this, arguments);
|
|
1048
1052
|
};
|
|
1049
1053
|
}();
|
|
1054
|
+
var personas = /*#__PURE__*/function () {
|
|
1055
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
1056
|
+
var _yield$api$get2, data;
|
|
1057
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
1058
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
1059
|
+
case 0:
|
|
1060
|
+
_context2.prev = 0;
|
|
1061
|
+
_context2.next = 3;
|
|
1062
|
+
return api.get("/personas");
|
|
1063
|
+
case 3:
|
|
1064
|
+
_yield$api$get2 = _context2.sent;
|
|
1065
|
+
data = _yield$api$get2.data;
|
|
1066
|
+
if (data) {
|
|
1067
|
+
setPersonas(data);
|
|
1068
|
+
} else {
|
|
1069
|
+
console.error('Erro ao fazer a solicitação');
|
|
1070
|
+
}
|
|
1071
|
+
_context2.next = 11;
|
|
1072
|
+
break;
|
|
1073
|
+
case 8:
|
|
1074
|
+
_context2.prev = 8;
|
|
1075
|
+
_context2.t0 = _context2["catch"](0);
|
|
1076
|
+
console.error('Erro ao fazer a solicitação:', _context2.t0);
|
|
1077
|
+
case 11:
|
|
1078
|
+
case "end":
|
|
1079
|
+
return _context2.stop();
|
|
1080
|
+
}
|
|
1081
|
+
}, _callee2, null, [[0, 8]]);
|
|
1082
|
+
}));
|
|
1083
|
+
return function personas() {
|
|
1084
|
+
return _ref3.apply(this, arguments);
|
|
1085
|
+
};
|
|
1086
|
+
}();
|
|
1050
1087
|
fetchData();
|
|
1088
|
+
personas();
|
|
1051
1089
|
}, [id]);
|
|
1052
1090
|
var sharedProps = _extends({}, props, {
|
|
1053
|
-
propTags: tags
|
|
1091
|
+
propTags: tags,
|
|
1092
|
+
personas: personas
|
|
1054
1093
|
});
|
|
1055
1094
|
return React.createElement(SharedPropsContext.Provider, {
|
|
1056
1095
|
value: {
|
|
@@ -1063,7 +1102,9 @@ var Types = {
|
|
|
1063
1102
|
GET_FILES_REQUEST: '@files/GET_FILES_REQUEST',
|
|
1064
1103
|
GET_FILES_SUCCESS: '@files/GET_FILES_SUCCESS',
|
|
1065
1104
|
DELETE_FILES_REQUEST: '@files/DELETE_FILES_REQUEST',
|
|
1066
|
-
DELETE_FILES_SUCCESS: '@files/DELETE_FILES_SUCCESS'
|
|
1105
|
+
DELETE_FILES_SUCCESS: '@files/DELETE_FILES_SUCCESS',
|
|
1106
|
+
TEST_REQUEST: '@files/TEST_REQUEST',
|
|
1107
|
+
TEST_SUCCESS: '@files/TEST_SUCCESS'
|
|
1067
1108
|
};
|
|
1068
1109
|
|
|
1069
1110
|
var getFilesAction = function getFilesAction(id) {
|
|
@@ -1101,12 +1142,22 @@ var deleteFilesActionSuccess = function deleteFilesActionSuccess(_ref2) {
|
|
|
1101
1142
|
}
|
|
1102
1143
|
};
|
|
1103
1144
|
};
|
|
1145
|
+
var testActionSuccess = function testActionSuccess(_ref3) {
|
|
1146
|
+
var message = _ref3.message;
|
|
1147
|
+
return {
|
|
1148
|
+
type: Types.TEST_SUCCESS,
|
|
1149
|
+
payload: {
|
|
1150
|
+
message: message
|
|
1151
|
+
}
|
|
1152
|
+
};
|
|
1153
|
+
};
|
|
1104
1154
|
|
|
1105
1155
|
var FileArea = function FileArea() {
|
|
1106
1156
|
var _useSharedProps = useSharedProps(),
|
|
1107
1157
|
id = _useSharedProps.id,
|
|
1108
1158
|
language = _useSharedProps.language,
|
|
1109
|
-
propTags = _useSharedProps.propTags
|
|
1159
|
+
propTags = _useSharedProps.propTags,
|
|
1160
|
+
personas = _useSharedProps.personas;
|
|
1110
1161
|
var _useState = useState([]),
|
|
1111
1162
|
files = _useState[0],
|
|
1112
1163
|
setFiles = _useState[1];
|
|
@@ -1260,7 +1311,8 @@ var FileArea = function FileArea() {
|
|
|
1260
1311
|
language: language,
|
|
1261
1312
|
propTags: {
|
|
1262
1313
|
tags: []
|
|
1263
|
-
}
|
|
1314
|
+
},
|
|
1315
|
+
personas: personas
|
|
1264
1316
|
}, React.createElement(Container, null, renderFiles()));
|
|
1265
1317
|
};
|
|
1266
1318
|
|
|
@@ -1292,32 +1344,26 @@ var InputTest = function InputTest(_ref) {
|
|
|
1292
1344
|
};
|
|
1293
1345
|
|
|
1294
1346
|
var TestArea = function TestArea() {
|
|
1295
|
-
var
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1347
|
+
var _useSharedProps = useSharedProps(),
|
|
1348
|
+
id = _useSharedProps.id,
|
|
1349
|
+
language = _useSharedProps.language,
|
|
1350
|
+
personas = _useSharedProps.personas,
|
|
1351
|
+
propTags = _useSharedProps.propTags;
|
|
1352
|
+
var t = getLanguage(language);
|
|
1353
|
+
var results = useSelector(function (state) {
|
|
1354
|
+
return state.message;
|
|
1355
|
+
});
|
|
1356
|
+
var _useState = useState(''),
|
|
1357
|
+
search = _useState[0],
|
|
1358
|
+
setSearch = _useState[1];
|
|
1301
1359
|
var _useState2 = useState(''),
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
var
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
"description": "Abordagem descontraída, direto ao ponto. Linguagem simples, exemplos práticos para facilitar compreensão rápida.",
|
|
1310
|
-
"name": "School Teacher"
|
|
1311
|
-
}, {
|
|
1312
|
-
"description": "Estilo descontraído, senso de humor único. Piadas e trocadilhos até em assuntos sérios.",
|
|
1313
|
-
"name": "Humorist"
|
|
1314
|
-
}, {
|
|
1315
|
-
"description": "Postura centrada, comunicação direta e focada em resultados. Prioriza eficiência e precisão.",
|
|
1316
|
-
"name": "Military"
|
|
1317
|
-
}, {
|
|
1318
|
-
"description": "Estilo único e carismático. Usa linguagem moderna, compartilha informações cativantes de forma descontraída.",
|
|
1319
|
-
"name": "Digital Influencer"
|
|
1320
|
-
}];
|
|
1360
|
+
profile = _useState2[0],
|
|
1361
|
+
setProfile = _useState2[1];
|
|
1362
|
+
var _useState3 = useState(''),
|
|
1363
|
+
presset = _useState3[0],
|
|
1364
|
+
setPresset = _useState3[1];
|
|
1365
|
+
var dispatch = useDispatch();
|
|
1366
|
+
var tags = propTags ? propTags.tags : [];
|
|
1321
1367
|
var optionsPersona = personas.map(function (persona) {
|
|
1322
1368
|
return {
|
|
1323
1369
|
label: persona.name,
|
|
@@ -1330,22 +1376,29 @@ var TestArea = function TestArea() {
|
|
|
1330
1376
|
value: tag
|
|
1331
1377
|
};
|
|
1332
1378
|
});
|
|
1333
|
-
var
|
|
1334
|
-
|
|
1379
|
+
var handleSelectPersona = function handleSelectPersona(value) {
|
|
1380
|
+
setProfile(value);
|
|
1381
|
+
};
|
|
1382
|
+
var handleSelectPresset = function handleSelectPresset(value) {
|
|
1383
|
+
setPresset(value);
|
|
1335
1384
|
};
|
|
1336
1385
|
var handleSearch = function handleSearch(value) {
|
|
1337
|
-
console.log(search);
|
|
1338
1386
|
setSearch(value);
|
|
1339
1387
|
};
|
|
1340
1388
|
var handleRecordAudio = function handleRecordAudio() {
|
|
1341
1389
|
console.log('Iniciando gravação de áudio...');
|
|
1342
1390
|
};
|
|
1343
1391
|
var handleTest = function handleTest() {
|
|
1344
|
-
|
|
1345
|
-
"message": "Você precisa seguir algumas etapas importantes para ter um chatbot perfeito. Primeiro, defina claramente o objetivo do seu chatbot. Em seguida, crie uma mensagem de saudação cativante para atrair a atenção dos usuários. Não se esqueça de pedir feedbacks para melhorar constantemente o desempenho do seu chatbot. Além disso, construa um fluxo de conversa simples e utilize respostas curtas para manter a interação rápida e eficiente. Também é importante incorporar inteligência artificial para tornar o seu chatbot especialista em determinado assunto. Teste o seu bot antes de lançá-lo e personalize-o de acordo com as necessidades dos usuários. Por fim, direcione os usuários para um atendimento humano quando necessário. Seguindo essas dicas, você estará no caminho certo para ter um chatbot perfeito!"
|
|
1346
|
-
});
|
|
1392
|
+
dispatch(testAction(search, profile, presset, id));
|
|
1347
1393
|
};
|
|
1348
|
-
return React.createElement(
|
|
1394
|
+
return React.createElement(SharedPropsProvider, {
|
|
1395
|
+
id: id,
|
|
1396
|
+
language: language,
|
|
1397
|
+
propTags: {
|
|
1398
|
+
tags: []
|
|
1399
|
+
},
|
|
1400
|
+
personas: personas
|
|
1401
|
+
}, React.createElement(Container$4, null, React.createElement(Header$1, null, React.createElement("div", {
|
|
1349
1402
|
className: 'infos'
|
|
1350
1403
|
}, React.createElement("h2", null, t.test), React.createElement("p", null, t.testArea.description))), React.createElement(Inputs, null, React.createElement(InputTest, {
|
|
1351
1404
|
placeholder: t.testArea.typeSentence,
|
|
@@ -1354,11 +1407,11 @@ var TestArea = function TestArea() {
|
|
|
1354
1407
|
}), React.createElement(Select, {
|
|
1355
1408
|
placeholder: t.testArea.selectPersona,
|
|
1356
1409
|
options: optionsPersona,
|
|
1357
|
-
onSelect:
|
|
1410
|
+
onSelect: handleSelectPersona
|
|
1358
1411
|
}), React.createElement(Select, {
|
|
1359
1412
|
placeholder: t.testArea.selectPresset,
|
|
1360
1413
|
options: optionsPresset,
|
|
1361
|
-
onSelect:
|
|
1414
|
+
onSelect: handleSelectPresset
|
|
1362
1415
|
}), React.createElement("button", {
|
|
1363
1416
|
onClick: handleTest
|
|
1364
1417
|
}, React.createElement(PiWaveformBold, null), " ", t.buttons.test)), results.message === '' ? React.createElement(EmptyState, {
|
|
@@ -1370,7 +1423,7 @@ var TestArea = function TestArea() {
|
|
|
1370
1423
|
className: 'icon'
|
|
1371
1424
|
}, React.createElement(MdPerson2, null)), React.createElement("div", {
|
|
1372
1425
|
className: 'text'
|
|
1373
|
-
}, results.message)));
|
|
1426
|
+
}, results.message))));
|
|
1374
1427
|
};
|
|
1375
1428
|
|
|
1376
1429
|
var Leia = function Leia(props) {
|
|
@@ -1378,11 +1431,18 @@ var Leia = function Leia(props) {
|
|
|
1378
1431
|
var _useLocation = useLocation(),
|
|
1379
1432
|
pathname = _useLocation.pathname;
|
|
1380
1433
|
var history = useHistory();
|
|
1434
|
+
var _useSharedProps = useSharedProps(),
|
|
1435
|
+
personas = _useSharedProps.personas;
|
|
1381
1436
|
var t = getLanguage(props.language);
|
|
1382
1437
|
var activeTab = useMemo(function () {
|
|
1383
1438
|
return pathname.split('/')[5] || 'files';
|
|
1384
1439
|
}, [pathname]);
|
|
1385
|
-
return React.createElement(SharedPropsProvider, Object.assign({
|
|
1440
|
+
return React.createElement(SharedPropsProvider, Object.assign({
|
|
1441
|
+
propTags: {
|
|
1442
|
+
tags: []
|
|
1443
|
+
},
|
|
1444
|
+
personas: personas
|
|
1445
|
+
}, props), React.createElement(React.Fragment, null, React.createElement(Tabs, {
|
|
1386
1446
|
value: activeTab,
|
|
1387
1447
|
onChange: function onChange(value) {
|
|
1388
1448
|
return history.push(match.url + "/" + value);
|
|
@@ -1407,7 +1467,8 @@ var Leia = function Leia(props) {
|
|
|
1407
1467
|
};
|
|
1408
1468
|
|
|
1409
1469
|
var INITIAL_STATE = {
|
|
1410
|
-
files: []
|
|
1470
|
+
files: [],
|
|
1471
|
+
message: ''
|
|
1411
1472
|
};
|
|
1412
1473
|
function filesReducer(state, action) {
|
|
1413
1474
|
if (state === void 0) {
|
|
@@ -1421,6 +1482,9 @@ function filesReducer(state, action) {
|
|
|
1421
1482
|
case Types.DELETE_FILES_SUCCESS:
|
|
1422
1483
|
draft.files = action.payload.files;
|
|
1423
1484
|
break;
|
|
1485
|
+
case Types.TEST_SUCCESS:
|
|
1486
|
+
draft.message = action.payload.message;
|
|
1487
|
+
break;
|
|
1424
1488
|
default:
|
|
1425
1489
|
return action.payload;
|
|
1426
1490
|
}
|
|
@@ -1429,7 +1493,8 @@ function filesReducer(state, action) {
|
|
|
1429
1493
|
|
|
1430
1494
|
var _marked = /*#__PURE__*/_regeneratorRuntime().mark(getFilesSaga),
|
|
1431
1495
|
_marked2 = /*#__PURE__*/_regeneratorRuntime().mark(deleteFilesSaga),
|
|
1432
|
-
_marked3 = /*#__PURE__*/_regeneratorRuntime().mark(
|
|
1496
|
+
_marked3 = /*#__PURE__*/_regeneratorRuntime().mark(testSaga),
|
|
1497
|
+
_marked4 = /*#__PURE__*/_regeneratorRuntime().mark(filesSagas);
|
|
1433
1498
|
function getFilesSaga(action) {
|
|
1434
1499
|
var id, _yield$call, data;
|
|
1435
1500
|
return _regeneratorRuntime().wrap(function getFilesSaga$(_context) {
|
|
@@ -1484,24 +1549,58 @@ function deleteFilesSaga(action) {
|
|
|
1484
1549
|
case 12:
|
|
1485
1550
|
_context2.prev = 12;
|
|
1486
1551
|
_context2.t0 = _context2["catch"](0);
|
|
1487
|
-
console.log('-----------
|
|
1552
|
+
console.log('-----------deleteFilesSaga.error------------------->', _context2.t0);
|
|
1488
1553
|
case 15:
|
|
1489
1554
|
case "end":
|
|
1490
1555
|
return _context2.stop();
|
|
1491
1556
|
}
|
|
1492
1557
|
}, _marked2, null, [[0, 12]]);
|
|
1493
1558
|
}
|
|
1494
|
-
function
|
|
1495
|
-
|
|
1559
|
+
function testSaga(action) {
|
|
1560
|
+
var _action$payload2, question, profile, presset, files_directory, _yield$call3, data;
|
|
1561
|
+
return _regeneratorRuntime().wrap(function testSaga$(_context3) {
|
|
1496
1562
|
while (1) switch (_context3.prev = _context3.next) {
|
|
1497
1563
|
case 0:
|
|
1498
|
-
_context3.
|
|
1499
|
-
|
|
1500
|
-
|
|
1564
|
+
_context3.prev = 0;
|
|
1565
|
+
_action$payload2 = action.payload, question = _action$payload2.question, profile = _action$payload2.profile, presset = _action$payload2.presset, files_directory = _action$payload2.files_directory;
|
|
1566
|
+
_context3.next = 4;
|
|
1567
|
+
return call(api.post, "/ask", {
|
|
1568
|
+
question: question,
|
|
1569
|
+
profile: profile,
|
|
1570
|
+
presset: presset,
|
|
1571
|
+
files_directory: files_directory
|
|
1572
|
+
});
|
|
1573
|
+
case 4:
|
|
1574
|
+
_yield$call3 = _context3.sent;
|
|
1575
|
+
data = _yield$call3.data;
|
|
1576
|
+
_context3.next = 8;
|
|
1577
|
+
return put(testActionSuccess({
|
|
1578
|
+
message: data.message
|
|
1579
|
+
}));
|
|
1580
|
+
case 8:
|
|
1581
|
+
_context3.next = 13;
|
|
1582
|
+
break;
|
|
1583
|
+
case 10:
|
|
1584
|
+
_context3.prev = 10;
|
|
1585
|
+
_context3.t0 = _context3["catch"](0);
|
|
1586
|
+
console.log('-----------testSaga.error------------------->', _context3.t0);
|
|
1587
|
+
case 13:
|
|
1501
1588
|
case "end":
|
|
1502
1589
|
return _context3.stop();
|
|
1503
1590
|
}
|
|
1504
|
-
}, _marked3);
|
|
1591
|
+
}, _marked3, null, [[0, 10]]);
|
|
1592
|
+
}
|
|
1593
|
+
function filesSagas() {
|
|
1594
|
+
return _regeneratorRuntime().wrap(function filesSagas$(_context4) {
|
|
1595
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
1596
|
+
case 0:
|
|
1597
|
+
_context4.next = 2;
|
|
1598
|
+
return all([takeLatest(Types.GET_FILES_REQUEST, getFilesSaga), takeLatest(Types.DELETE_FILES_REQUEST, deleteFilesSaga), takeLatest(Types.TEST_REQUEST, testSaga)]);
|
|
1599
|
+
case 2:
|
|
1600
|
+
case "end":
|
|
1601
|
+
return _context4.stop();
|
|
1602
|
+
}
|
|
1603
|
+
}, _marked4);
|
|
1505
1604
|
}
|
|
1506
1605
|
|
|
1507
1606
|
var sagaMiddleware = /*#__PURE__*/createSagaMiddleware();
|